无法触发从javascript提交

时间:2012-04-03 14:00:34

标签: javascript html forms javascript-events

我正在尝试为搜索框创建弹出窗口并提交关键字 用一个表格。我在互联网上浏览类似的问题,但我应用的唯一解决方案是 删除表单的提交元素。它没有成功。任何想法?

使用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" );
               }
           });

和html看起来像这样:

                   <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>

这些是我的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>

找到了解决方案!

我犯了一个菜鸟错误。我有嵌套表格。当我纠正这个错误时,它确实有效。

1 个答案:

答案 0 :(得分:2)

你为什么使用

document.getElementById('searchForm').submit()

当你有权访问jQuery?你可以这样做:

$("#searchForm").submit()