0

タグがない場合、私の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()

どうもありがとうございます。

4

2 に答える 2

1

関数と同じ名前の要素があるためです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);
             }});
}
于 2013-09-05T01:02:27.837 に答える