[英]ajax didnt work inside form tag
沒有標簽時,我的Ajax代碼運行良好。.但是我需要表單標簽,我該怎么辦?..這是我的代碼。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script>
function injury_nature(){
$.ajax({
type:"POST",
url:"ajax_details.php",
data:{
allvals:$("#nature_id").val(),
},
success:function(msg){
$("#div").html(msg);
}});
}
</script>
<form method="post" action="process.php">
<table border="2">
<tr><th colspan="2">Injury Details</th></tr>
<tr><td>
<select id="nature_id" name="injury_nature" onChange="injury_nature()">
<option><--select--></option>
<option value="1">Musculoskeletal Injuries</option>
<option value="2">Soft Tissue Injuries</option>
<option value="3">Illnesses</option>
<option value="4">Other Injuries</option>
</select>
</td>
<td><div id="div"></div></td></tr>
</table>
當有表單標簽時,出現此錯誤:
TypeError: injury_nature is not a function
injury_nature()
請幫助我,非常感謝。
既然您使用的是jquery,為什么不只使用change
函數呢?
<script>
$(document).ready(function(){
$("#nature_id").change(function(){
$.ajax({
type:"POST",
url:"ajax_details.php",
data:{
allvals:$("#nature_id").val(),
},
success:function(msg){
$("#div").html(msg);
}});
});
});
</script>
然后只需刪除onchange
標簽上的onchange
<select id="nature_id" name="injury_nature" >
那是因為你具有相同名稱的元素injury_nature
的功能。
只需將函數重命名為injury_nature_change
就可以了
<select id="nature_id" name="injury_nature" onChange="injury_nature_change()">
然后
function injury_nature_change(){
$.ajax({
type:"POST",
url:"ajax_details.php",
data:{
allvals:$("#nature_id").val(),
},
success:function(msg){
$("#div").html(msg);
}});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.