【问题标题】:jquery .submit() method doesn't reaload the pagejquery .submit() 方法不会重新加载页面
【发布时间】:2013-10-22 15:32:40
【问题描述】:

我有一个表单,我想在整个 jquery 中提交它。但提交方法不会发送请求或重新加载页面。有什么帮助吗?

在html代码中没有<form></form>标签,只有文本框和<button></button>

                $('#search_btn').click(function() {
                          e.preventDefault();
                    if ($('#search_txtbx').val().length > 0) {
                        $('<form action="<?= base_url('search'); ?>" method="POST">' +
                                '<input value="ls_subject" name="table" type="hidden">' +
                                '<input value="<?= $type; ?>" name="type" type="hidden">' +
                                '<input value="' + $('#search_txtbx').val() + '" name="search_string" type="hidden">' +
                                '</form>').submit();
                    }
                });

【问题讨论】:

  • form 元素永远不会附加到 DOM,因此无法在其上调用提交事件。如果你想发布数据,还有比这更好的方法,$.ajax 是第一个。
  • 为什么不在页面正文中加入这个表单?

标签: javascript jquery html forms


【解决方案1】:

您必须将表单附加到 DOM,然后提交表单:

$('#search_btn').click(function() {
 if($('#search_txtbx').val().length > 0) {
  $("body").append('<form style="display:none;" action="<?= base_url('search'); ?>" method="POST" id="bghdfrm">'+
   '<input value="ls_subject" name="table" type="hidden">' +
   '<input value="<?= $type; ?>" name="type" type="hidden">' +
   '<input value="'+$('#search_txtbx').val()+'" name="search_string" type="hidden">' +
   '</form>');
  $("#bghdfrm").submit();
 }
 return false;
});

【讨论】:

  • return false; 在这里做什么?
  • @MajedDH 同 e.preventDefault();但更好。
  • @Subin 怎么样?
【解决方案2】:

尝试关注...

Demo

$('#search_btn').click(function (e) {
    e.preventDefault();
    if ($('#search_txtbx').val().length > 0) {
        $("body").append('<form style="display:none;" action="<?= base_url(search); ?>" method="POST" id="bghdfrm">' +
            '<input value="ls_subject" name="table" type="hidden">' +
            '<input value="<?= $type; ?>" name="type" type="hidden">' +
            '<input value="' + $('#search_txtbx').val() + '" name="search_string" type="hidden">' +
            '</form>');
        $("#bghdfrm").submit();
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-05
    • 2013-09-09
    • 1970-01-01
    • 1970-01-01
    • 2018-11-30
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    相关资源
    最近更新 更多