下面的表单存在于html表的每一行中。但是,警告(“dfd”)仅弹出表的第一行而不是其他行中的表单(这些表单显示在网页上)任何人都可以告诉它为什么会这样?
HTML:
<form class='form form-horizontal' method='post' role='form' id='formsel' name='formsel'>
<fieldset >
<div>
<span class='control-group' >
<span class='controls'>
<select id='formcont' name='formcont' class='form-control' style='cursor:pointer;'>
<option selected='selected' style='display:none;'>Select</option>
<option value='1'>Option1</option>
<option value='2'>Option2</option>
<option value='3'>Option3</option>
</select> <button id='selbtn' name='selbtn' type='submit'>Sub,it</button>
</span>
</span></div>
</fieldset>
</form>
JS:
$("#formsel").submit(function () {
alert("dfd");
$.ajax({
url:"add.php",
data:$("#formcont").val().serialize(),
type:"POST",
success:function(data){
console.log(data);
if(data=="done"){
alert("success");
}
},
error:function(data){
alert("Network ERROR");
}
})
return false;
});
$("#selbtn").click(function () {
("#formsel").submit();
});
PHP:
<?php
include ('db.php');
session_start();
echo "done";
?>
答案 0 :(得分:0)
是的,因为您没有发送任何数据:
$("#formcont").val().serialize()
应该是:
$(this).serialize()
由于您单击以触发submit
的按钮是提交按钮,因此您实际上不需要以下代码:
$("#selbtn").click(function () {
("#formsel").submit();
});