не может инициировать отправку из JavaScript - PullRequest
1 голос
/ 03 апреля 2012

Я пытаюсь создать всплывающее окно для окна поиска и отправить ключевое слово с формой. Я просматриваю похожие вопросы в Интернете, но единственное решение, которое я применил, это удаление отправить элемент формы. Это тоже не сработало. есть идеи?

Работаю над 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 Ответ

2 голосов
/ 03 апреля 2012

Почему вы используете

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

, когда у вас есть доступ к jQuery?Вы можете сделать это вместо:

$("#searchForm").submit()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...