我不知道为什么我的表单没有发布,只是重新加载页面。
我可以使用$.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将表单中的任何按钮作为提交按钮。当我点击按钮时,它用于POST表单,然后到达$ .ajax({success:})。我必须做的是给按钮type="button"
答案 0 :(得分:1)
类型必须表示为字符串。因此,它是type: 'POST'
。
答案 1 :(得分:1)
只是表单提交,下面的代码应该可以正常工作
override func viewDidLoad() { NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "reloadTableView", userInfo: nil, repeats: true) }