jQuery - сбросить форму после отправки с плагином формы

позвольте мне начать с того, что это может выглядеть просто, но я нахожу это чрезвычайно сложным.

я сделал скрипт поиска, который использует PHP, и получение результата будет выглядеть так

search.php?term=alice&submit=Submit

Стандартные вещи. Проблема в том, что я использую SPI с AJAX и PHP, поэтому мои результаты должны динамически загружаться в div, сохраняя при этом хеш-значение, чтобы не потерять страницу, которую пользователь посетил до поиска.

jQuery.history.js — это плагин, который я использую для поддержки кнопки «Назад», которая требует, чтобы ссылки были такими:

<a href="#home">Home Page</a>

это загрузит «home.html» в div с именем pageContent. насколько я знаю, нет способа вызвать php-файлы, если вы не разработаете небольшой хак, который у меня есть,

вот мой JavaScript/jQuery для моей формы поиска:

<script language="JavaScript">
$(document).ready(function() { 
    // bind form using ajaxForm 
    $('#search1').ajaxForm({ 
        // target identifies the element(s) to update with the server response 
        target: '#pageContent', 

        // success identifies the function to invoke when the server response 

        success: function() { 
            $('#pageContent'); 
            var hash = '#search.php?term='+($('#query').val()+'&submit=Submit').replace(/ /g, '+');
            var stripped = hash.replace(/(<([^>]+)>)/ig,""); 
            update(window.location.hash = stripped);

        } 

    }); 
});

</script>

Вот форма:

<form id="search1" action="search.php" method="post">
    <input id="query" type="text" name="term" />
    <input type="submit" name="submit" value="Submit" />
    </form>

Моя проблема такова: я пробовал this.form.reset(); это: Сброс многоэтапной формы с помощью jQuery , но ничего из этого не работает. пожалуйста, помогите мне, если вы знаете способ сделать это ..


person Ricki    schedule 19.05.2011    source источник


Ответы (1)


$('#query').val(DefaultValue);

с этим вы можете установить свое значение на все, что хотите, например, пустое: '';

person Johan Olsson    schedule 19.05.2011
comment
Я не понимаю, как это мне поможет. Мне нужно действие плагина формы, который запускается при отправке, предотвращение этого поможет мне очистить форму после остановки отправки моей формы? - person Ricki; 22.05.2011
comment
о, возможно, я неправильно понял .. но почему бы вам не попробовать просто установить для inputfeild значение, которое вы хотите, в результате сброса? - person Johan Olsson; 23.05.2011
comment
такое простое решение, я обнаружил, что причина, по которой это не работало раньше, заключалась в том, что я поставил его после update(..);, но в этом не было необходимости, так как просто window.location.hash = stripped все равно будет работать. Спасибо за ответ - person Ricki; 24.05.2011