提交Jquery而不刷新(无需验证)

时间:2012-10-31 02:36:01

标签: php jquery ajax smarty

我有一个正常运行的标签表单,有一些服务器验证,我想添加一个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>

任何建议都将受到高度赞赏。

4 个答案:

答案 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;
};