jquery .submit()方法不重新加载页面

时间:2013-10-22 15:32:40

标签: javascript jquery html forms

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

在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();
                    }
                });

2 个答案:

答案 0 :(得分:0)

您必须将表单附加到 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;
});

答案 1 :(得分:0)

试试以下......

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();
    }
});