2013-05-13 75 views
0

我有一個接受用戶輸入的HTML表單:WordPress中使用AJAX或jQuery來返回PHP的結果腳本

<form action="script_conv.php" method="post"> 
Convert: <input type="number" name="input" id="input"> 
<select name="unit1" id="unit1"> 
<option value="w">Words</option> 
<option value="l">Lines</option> 
<option value="p">Pages</option> 
<option value="r">Recorded Minutes</option> 
<option value="f">Finished Minutes</option> 
</select> 
to 
<select name="unit2" id="unit2"> 
<option value="w">Words</option> 
<option value="l">Lines</option> 
<option value="p">Pages</option> 
<option value="r">Recorded Minutes</option> 
<option value="f">Finished Minutes</option> 
</select> 
<input type="submit"> 
</form> 

PHP腳本會將用戶數據,並進行一些計算:

<?php 
$input=$_POST["input"]; 
$unit1=$_POST["unit1"]; 
$unit2=$_POST["unit2"]; 

(bunch of if...else statements) 

echo "<ul>"; 
echo "<li>$cat1f</li>"; 
echo "<li>$cat2f</li>"; 
echo "<li>$cat3f</li>"; 
echo "</ul>"; 
?> 

這一切都很好,但當然功能的結果返回到一個新的頁面。我想將該功能的結果追加到同一頁面。我知道這將需要AJAX/jQuery,但我已經嘗試過沒有任何工作。任何人都可以給我一些指導嗎?

非常感謝!

回答

0

嘗試test.php的(HTML): -

<form method='post'> 
Convert: <input type="number" name="input" id="input"> 
<select name="unit1" id="unit1"> 
<option value="w">Words</option> 
<option value="l">Lines</option> 
<option value="p">Pages</option> 
<option value="r">Recorded Minutes</option> 
<option value="f">Finished Minutes</option> 
</select> 
to 
<select name="unit2" id="unit2"> 
<option value="w">Words</option> 
<option value="l">Lines</option> 
<option value="p">Pages</option> 
<option value="r">Recorded Minutes</option> 
<option value="f">Finished Minutes</option> 
</select> 
<input type="button" onclick="getvalue();"> 
</form> 

test.php的(腳本功能): - 在

<script src="http://localhost:8004/js/jquery-1.9.1.js"></script> 
<script> 
function getvalue() { 
     var input= document.getElementById('input').value; 
    var unit1=document.getElementById('unit1').value; 
    var unit2=document.getElementById('unit2').value; 

     $.ajax({ 
     type: "POST", 
     url: "http://localhost:8004/test/test.php", 
     data: { input: input,unit1:unit1, unit2:unit2,fun:'getvalue' } 
     }).done(function(data) 
     { 
      alert(data); 
     }); 
} 

</script> 

PHP代碼這個(test.php)文件的頂部: -

<?php if(isset($_REQUEST['fun']) == 'getvalue') 
{ 
echo $_REQUEST['input'].$_REQUEST['unit1'].$_REQUEST['unit2']; 
exit(); 
} 
?> 

需要退出否則它會顯示所有的數據從該文件中,以便使用使用PHP的另一種方式從<form method="post">在PHP做

刪除操作,並在同一頁上響應

+0

謝謝。我會試試這個。 – user2376338 2013-05-13 22:02:47

+0

這很好。我大部分都是這樣,但我錯過了一些你提供的信息。再次感謝 - 我已經對我的頭撞了幾天! – user2376338 2013-05-14 04:54:24

0

試試這個:

$(function(){ 
    $('form').submit(function(e){ 
     e.preventDefault(); 

     $.post('/path/to/your/php', $(this).serialize(), function(response){ 
      // do something with the response 
     }); 
    }); 
}); 
+0

謝謝。我會試試這個。 – user2376338 2013-05-13 22:03:04

相關問題