无法从javascript触发提交

无法从javascript触发提交,javascript,html,forms,javascript-events,Javascript,Html,Forms,Javascript Events,我试图创建一个搜索框弹出窗口,并提交关键字 用表格。我在互联网上浏览类似的问题,但我申请的唯一解决方案是 正在删除表单的提交元素。也没有成功。有什么想法吗 我和django可以提供更多细节 我的javascript的某些部分如下所示: $( "#dialog-form" ).dialog({ autoOpen: false, height: 200, width: 200,

我试图创建一个搜索框弹出窗口,并提交关键字 用表格。我在互联网上浏览类似的问题,但我申请的唯一解决方案是 正在删除表单的提交元素。也没有成功。有什么想法吗

我和django可以提供更多细节

我的javascript的某些部分如下所示:

             $( "#dialog-form" ).dialog({
               autoOpen: false,
               height: 200,
               width: 200,
               modal: true,
               buttons: {
                   "Search": function() {
                       var bValid = true;
                       allFields.removeClass( "ui-state-error" );

                       bValid = bValid && checkLength( keyword, "username", 2, 16 );

                       bValid = bValid && checkRegexp( keyword, /^[a-z]([0-9a-z_])+$/i, "Keyword may consist of a-z, 0-9, underscores, begin with a letter." );

                       if ( bValid ) {
                           document.getElementById('searchForm_1_keyword').value =  keyword.val();
                           document.getElementById('searchForm').submit(); //if I comment out this line it continues the next line, if not, it does not execute the next line


                            $( "#testDiv" ).append( "<tr>" +
                            "<td>" + keyword.val() + "</td>" +
                            "</tr>" );

                             alert(keyword.val());
                             $( this ).dialog( "close" );
                       }
                   },
                   Cancel: function() {
                       $( this ).dialog( "close" );
                   }
               },
               close: function() {
                   allFields.val( "" ).removeClass( "ui-state-error" );
               }
           });
                   <div class="searchBox">
                         <form id='searchForm' method="POST" action="/dasdasasdas/" >{% csrf_token %}
                            <input type="text" name="column_name" value='supplier_name'>
                            <input type="text" name="keyword" id="searchForm_1_keyword" value=""/>
                         </form>
                   </div>
$(“#对话框窗体”).dialog({
自动打开:错误,
身高:200,
宽度:200,
莫代尔:是的,
按钮:{
“搜索”:函数(){
var bValid=真;
removeClass(“ui状态错误”);
bValid=bValid&&checkLength(关键字“用户名”,2,16);
bValid=bValid&&checkRegexp(关键字,/^[a-z]([0-9a-z])+$/i,“关键字可以由a-z、0-9、下划线组成,以字母开头。”);
if(bValid){
document.getElementById('searchForm_1_keyword')。value=keyword.val();
document.getElementById('searchForm').submit();//如果我注释掉这一行,它将继续下一行,如果没有注释,它将不执行下一行
$(“#testDiv”).append(”+
“”+关键字.val()+“”+
"" );
警报(关键字.val());
$(此).dialog(“关闭”);
}
},
取消:函数(){
$(此).dialog(“关闭”);
}
},
关闭:函数(){
allFields.val(“”.removeClass(“ui状态错误”);
}
});
html如下所示:

             $( "#dialog-form" ).dialog({
               autoOpen: false,
               height: 200,
               width: 200,
               modal: true,
               buttons: {
                   "Search": function() {
                       var bValid = true;
                       allFields.removeClass( "ui-state-error" );

                       bValid = bValid && checkLength( keyword, "username", 2, 16 );

                       bValid = bValid && checkRegexp( keyword, /^[a-z]([0-9a-z_])+$/i, "Keyword may consist of a-z, 0-9, underscores, begin with a letter." );

                       if ( bValid ) {
                           document.getElementById('searchForm_1_keyword').value =  keyword.val();
                           document.getElementById('searchForm').submit(); //if I comment out this line it continues the next line, if not, it does not execute the next line


                            $( "#testDiv" ).append( "<tr>" +
                            "<td>" + keyword.val() + "</td>" +
                            "</tr>" );

                             alert(keyword.val());
                             $( this ).dialog( "close" );
                       }
                   },
                   Cancel: function() {
                       $( this ).dialog( "close" );
                   }
               },
               close: function() {
                   allFields.val( "" ).removeClass( "ui-state-error" );
               }
           });
                   <div class="searchBox">
                         <form id='searchForm' method="POST" action="/dasdasasdas/" >{% csrf_token %}
                            <input type="text" name="column_name" value='supplier_name'>
                            <input type="text" name="keyword" id="searchForm_1_keyword" value=""/>
                         </form>
                   </div>

{%csrf_令牌%}
这些是我的jquery文件:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="http://code.jquery.com/ui/1.8.18/jquery-ui.min.js" type="text/javascript"></script>

找到了解决办法

我犯了一个新手错误。我有嵌套的表单。当我纠正那个错误时,它确实起作用了

你为什么要使用

document.getElementById('searchForm').submit()
什么时候可以访问jQuery?您可以这样做:

$("#searchForm").submit()

我试过了。执行下一行,但未触发submit()。提交表单时,是否将事件处理程序附加到表单?可能是别的什么东西在取消表单?我没有事件处理程序。我应该要一张吗?一点也不,只是想知道是否有什么东西取消了表格的提交。您确定searchForm是此表单的唯一id吗?当前页面上只有一个表单具有唯一id?