Вставки Jquery Утеряны после отправки формы

0

У меня есть простой виджет диалогового окна, который я использую, чтобы отправить некоторые значения на сервер и добавить что-то в неупорядоченный список, который отображается на странице. например, name = matrixA a11 = 1 a12 = 2 a21 = 4 a22 = 1, поэтому эти данные передаются на сервер, а атрибут name должен быть добавлен в список.

После нажатия пользователем submit вызывается процедура Validate(), которая проверяет записи, добавляет запись имени в неупорядоченный список и отправляет форму.

Однако после отправки формы страница перезагружается, а append теряется. Есть ли способ избежать этого? Я знаю, что append работал на долю секунды, которую я действительно могу увидеть, но затем перезагружается страница, и мы возвращаемся к началу.

@EDIT: Это часть моего кода. Весь код становится слишком большим, поэтому ознакомьтесь с этим -

    <script>
    $('#form1').submit(function(event){
        event.preventDefault();
        //Validate is a function which returns a bool if validation proceeds correctly
        var isCorrect = Validate(this);
        if(isCorrect){
        //if validated correctly then submit, close widget, add name of matrix to a list

            this.submit();  
            $('#dialog').dialog('close'); //the form sits inside a dialog widget
            $('#selectable').append("<li class='ui-widget-content'>name</li>"); 
        } 

    });
    </script>
    <form name='form1' id='form1'  method='get'>
<fieldset>
    <label for="Name">Name</label>
    <input type='text' name='nameofmatrix' id='Name' class='whitepanes'><br>
    <label for="a11">a11</label>
    <input type="text" name='a11' id='a11' class='whitepanes number-field'><br>
    <label for="a22">a22</label>
    <input type="text" name='a22' id='a22' class='whitepanes number-field'><br>
    <label for="a12">a12</label>
    <input type="text" name='a12' id='a12' class='whitepanes number-field'><br>
    <label for="a21">a21</label>
    <input type="text" name='a21' id='a21' class='whitepanes number-field'><br>
    <input type='submit' name='mysubmit' id='submit_button'  value='submit'>
    <button id='cancel_button'>cancel</button>
</fieldset>
</form>
  • 0
    Поставьте какой-нибудь код, чтобы увидеть или лучше разместить ссылку на скрипку .
  • 0
    Вы можете использовать ajax для предотвращения перезагрузки страницы при отправке формы.
Показать ещё 2 комментария
Теги:

1 ответ

0

Возможно, вам придется поделиться своим кодом.

Но то, что я сделал бы, - это нажать кнопку прослушивания кликов на кнопке отправки. И затем используйте запрет по умолчанию, чтобы остановить перезагрузку страницы.

например

$('#buttonID').click(function(event){
  event.preventDefault(); //important
  // calculations here
  // validate method

});

Или, как упоминалось в mplungjan вы можете использовать событие submit в своей form.

$('#formID').submit(function(event){
  event.preventDefault(); //important
  // calculations here
  // validate method

});
  • 1
    Использование формы отправки события лучше, на мой взгляд!
  • 0
    Хорошо, спасибо за вклад.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню