我不知道为什么我的表单不是发布,而是只是重新加载页面。jQuery Ajax POST表单不能发布
我可以用$.ajax({type:GET})
来做到这一点。但是这样做并不正确,因为我所有的脚本都将数据发布到数据库。
我也试过把$('#status-form').serialize()
和'status=' + status_value
加到$.ajax({data:})
。但不起作用。只刷新页面并不向数据库提交任何内容。
这里是我的jQuery:
$(document).on('click', '.edit',function() {
var project_id_value=$(this).closest('tr').find('.project_id').text();
$('#popup').show();
$('#popup').load('scripts/form.php');
$(document).on('click',".bttt", function(){
var status_value=$('#status option:selected').val();
var formData = $('#status-form').serialize();
$.ajax({
type:POST,
url:'scripts/change-status.php?project_id=' + project_id_value,
data:formData,
success: function(data){
alert(data)},
});
});
return false;
});
形式:
<form method="post" id="status-form">
<select name="status" id="status">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">Closed</option>
</select>
<button class="bttt">Hello</button>
</form>
编辑:
我有固定的错字错。仍然有同样的问题
SOLUTION:
我找到了解决方案,这是为什么呢浏览器使用刷新,什么也不做。由于我使用的是Firefox和Firefox,因此将表单中的任何按钮作为提交按钮。当我点击该按钮时,它被用于在达到$ .ajax({success:})之前发布表单。我必须做的是给按钮一个type="button"
你的PHP无关,与你的问题。请发布*呈现* HTML,而不是PHP源代码。 – j08691
你确定控制台没有显示错误吗? –
嵌套的点击功能是使这很难排除故障的事情之一。 –