我正在尝试将form
值发送到php页面,以便根据我的form
值对我的服务器执行SQL请求。这是带有form和ajax脚本的原始php:
<script type='text/javascript' src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<form enctype="multipart/form-data" method="post">
<input type="datetime-local" name="start" id="start">
<input type="datetime-local" name="finish" id="finish">
<input type="checkbox" name="consta" id="consta" value="tru"> Remove const
<input type="submit" name="apply" id="apply">
</form>
<script>
$('#apply').click(function(){
var data= $('form').serialize();
$.post('gensetapply.php', data);
});
</script>
<?php
$con=$_POST['consta'];
$str=$_POST['start'];
$fin=$_POST['finish'];
echo $con.", ".$str.", ".$fin;
?>
所以,我确信我的ajax请求无效。 我对这些事情不熟悉并在上面编写代码以寻找类似的例子,所以请欢迎指出我的错误。可能有一个错字导致我在这里再次打字,而不是从源代码复制粘贴。
修改: 它工作正常,当我刷新页面时我无法看到它,但是通过Chrome中的devtools(网络&gt;响应)我希望它能帮助像我这样的其他傻瓜;)
答案 0 :(得分:1)
此处&#39; 应用&#39;按钮类型为submit
。因此,您的表单会立即提交。当您通过ajax处理表单提交时,解决方案是您需要停止提交表单。您可以在点击事件中修复returning false
,如下所示
<script>
$('#apply').click(function(){
var data= $('form').serialize();
$.post('gensetapply.php', data);
return false;
});
</script>
答案 1 :(得分:1)
1st:您使用post方法将数据发布到服务器,因此您需要阻止<script>
$('#apply').submit(function(e){
e.preventDefault();
var data= $('form').serialize();
$.post('gensetapply.php', data);
});
</script>
type="submit"
第二次或简单地将type="button"
更改为holder.modelName.clearFocus();
holder.modelName.setEnabled(false);
holder.modelName.setClickable(false);
//registrationNumber
holder.registrationNumber.clearFocus();
registrationNumber.modelName.setEnabled(false);
registrationNumber.modelName.setClickable(false);
。