我有一个正常运行的标签表单,有一些服务器验证,我想添加一个Jquery来提交内容而不刷新:
<form method="post" action="tags">
<div>
<input type="hidden" name="id" value="getId()" />
<input type="text" name="tag" />
<input type="submit" value="Add" name="add" />
</div>
</form>
任何建议都将受到高度赞赏。
答案 0 :(得分:2)
查看jQuery Form Plugin。使用它,您可以在不重新加载页面的情况下提交表单,如下所示:
<form id="aForm" action="target.php" method="post>
...
</form>
<script type="text/javascript">
$(document).ready(function() {
$("#aForm").ajaxForm();
});
</script>
ajaxForm()
函数还支持可以传递给标准jQuery $.ajax函数的所有选项(例如回调函数)。
答案 1 :(得分:1)
$(document).ready(function() {
$(form).submit( function() { // could use $(#submit).on('click', function(){ as well
$.ajax({
url: 'yourposturl',
data: $(form).serialize(),
Success: function() {
alert('ok');
}
}); //end ajax
return false;
}); //end submit()
});
应该采取所有形式的vars,序列化它们以便服务器可以接收,返回false是这样页面不会在提交时刷新(停止传播和默认)
答案 2 :(得分:0)
添加JQuery javascript库
将提交转为按钮
<button id="submitbutton" >Add</button>
在输入中添加ID
<input type="text" id="tag" name="tag" />
将jquery添加到按钮的单击...
<script type="text/javascript">
$(document).ready(function() {
$("#submitbutton").button().click(function(){
$.post("tags.php",{id: $("#id").val(), tag: $("#tag").val()});
});
});
</script>
答案 3 :(得分:0)
<form method="post" action="tags">
<div>
<input type="hidden" name="id" value="getId()" />
<input type="text" name="tag" />
<input class="button" type="button" value="Add" name="add" />
</div>
</form>
$(function(){
$('.button').click(function(){
var data = $('form').serializeToObject();
$.post('tags.php', data);
});
});
// jQuery Extension to serialize a selector's elements to an object
$.fn.serializeToObject = function () {
var o = {};
var a = this.serializeArray();
$.each(a, function () {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};