2013-10-04 154 views
0

我想通過Ajax將index.php中的下拉列表的值傳遞給test.php中的文本框。將下拉值傳遞給另一個頁面中的文本框 - PHP/jQuery/AJAX

Test.php iframed in index.php。一旦我改變下拉菜單,該下拉菜單的值需要在test.php中更新,無需重新加載頁面。

謝謝!

的index.php

<script type="text/javascript"> 
      $(document).ready(function() { 
     $('#dropdown1').change(function() { 
      var value = $('#dropdown1').val() 
      window.location = 'index.php?value=' + value; 
     }) 
    }) 
</script> 

<body> 
    <h1>Ajax</h1> 
    <select id="dropdown1"> 
     <option value="1">Value 1</option> 
     <option value="2">Value 2</option> 
     <option value="3">Value 3</option> 
     <option value="4">Value 4</option> 
    </select> 

    <div> 
     <iframe src="test.php" frameborder="0"></iframe> 
    </div> 
</body> 

test.php的

<body> 
    <?php 

     echo "<h1> The Current Value: " . $_GET["value"] . "</h1>"; 

    ?> 
</body> 

+0

沒有人會幫助你,如果你甚至不嘗試自己。發佈你到目前爲止嘗試過的東西 – Johan

+0

抱歉Johan。從此以後任何問題我都會更新我的嘗試。現在我已經嘗試了我的嘗試。我可以使用ajax在同一頁面上傳遞該值,但我不知道如何將它傳遞給其他頁面。 –

+0

您應該能夠在框架和主頁面之間傳遞值,而不涉及服務器。 – Johan

回答

0

如果 「不重新加載頁面」 你的意思是重裝的index.php你可以只交使用目標test.php像這樣:

<iframe id="test_php"/> 
<form target="test_php"> 
    <select onchange="this.parentNode.submit()"/> 
</form> 

這將需要您的test.php腳本來接受帖子和「重新加載」。

+0

感謝您的答覆,我會更新我的代碼那麼你會清楚地回答我的問題猜測 –

0

我以前的答案可能是要走的路 - 簡單勝於複雜。

,如果你堅持使用AJAX(存儲改變了你的服務器上的值),你可以使用一個兩步走的方法:

1更新的iframe,而無需使用重裝:

的document.getElementById('iFrameID ').contentWindow.document.body.innerHTML ='你好改變的值!'

2使用ajax更新服務器上的值,不需要回調。

+0

嗨 - 我很抱歉,我不明白你在說什麼,我剛開始使用php,jquery和其他東西,如果你不介意的話一個例子會讓我更好理解 –

+0

我試過使用查詢字符串,儘管我無法將該值傳遞給iframe文件,但現在我會更新查詢字符串代碼 –

+0

有一些事情不清楚,比如哪個頁面你不想重新加載,索引,測試或兩者兼有 介意test.php不是web服務器,它不會等待傳入的請求,你必須指示它做某事, (重新加載),更改它的uri(重新加載)或通過調用javascript函數(在test.php中設置)(不重新加載) –

相關問題