从表单行动中提交的ajax获取价值

时间:2013-09-05 02:50:49

标签: php javascript jquery ajax forms

请帮我解决我的代码我希望在我的ajax_details.php上获取所选值,以便它将在我的表单操作上提交process_details.php这里是我的代码:

injury_details.php

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script>
function injury_nature_change(){
$.ajax({
         type:"POST",
         url:"ajax_details.php",
         data:{
             allvals:$("#nature_id").val(),
             },
         success:function(msg){
             $("#div").html(msg);
             }});
}
</script>
<form method="post" action="process_details.php">
<table border="2">
<tr><th colspan="2">Injury Details</th></tr>
<tr><td>
<select id="nature_id" name="injury_nature" onChange="injury_nature_change()">
<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>
<input type="submit" name="submit" value="add" />
</form>

ajax_details.php

<select name=injury_details_under><?php
$id = $_POST['allvals'];
$sql="SELECT value_name FROM tbl_injury_nature WHERE value_nature_id=$id";
$res=mysql_query($sql) or die("error:".mysql_error());
while($row=mysql_fetch_array($res)){
    $value_name = $row['value_name'];
    echo"<option value='$value_name'>$value_name</option>";
}
    ?>
</select>

process_details.php

<?php
if(isset($_POST['submit'])){
$injury_nature = $_POST['injury_nature'];
$injury_nature_under = $_POST['injury_nature_under'];
$sql="INSERT INTO tbl_injury (injury,under) VALUES  ('$injury_nature','$injury_nature_under')";
$res=mysql_query($sql) or die("error:".mysql_error());
}
?>

感谢未来的帮助..

  

这整个代码实际上可以感谢每个人的帮助..

2 个答案:

答案 0 :(得分:0)

您没有在表单中定义$injury_nature_under,是吗?

答案 1 :(得分:0)

我想你可能会在这里弄错:

  • 如果您尝试使用常规form将表单发布到后端,则可以使用html表单元素指定的name属性来提取它,例如。 injury_nature

  • 如果您使用jQuery ajax将数据发布到后端,则使用data选项中指定的对象名称提取它,在您的情况下allvals

看看这是否能解决您的问题。