Ошибка кода формы jQuery, используемая для автоматической отправки - PullRequest
0 голосов
/ 19 июля 2011
var inpt = $('#input-box').val();
if (inpt != '') {
    $('form').submit();
    alert('Voila!');           // (1)
} else {
alert('fill something man');   // (2)
}

Я использую этот код для автоматической отправки формы при загрузке страницы.
Здесь я не могу использовать функцию jquery $(document).ready(), потому что я нахожусь в среде GreaseMonkey.
Форма заполняется автоматически, я использовал заявление (2) для исключительных случаев.

Я не получаю оповещений! ни с (1), ни с (2).

UPDATE:

    <label for="answer">Answer:</label>
    <input type="text" name="answer" id="input-box" />
    <input type="submit" name="submit" id="submit" value="Submit" />
</form>

Ответы [ 3 ]

0 голосов
/ 19 июля 2011

Попробуйте поставить предупреждение перед отправкой.

var inpt = $('#input-box').val();
if (inpt != '') {
    alert('Voila!');           // (1)
    $('form').submit();
} else {
    alert('fill something man');   // (2)
    return false; // to stop submitting
}

Если вы хотите, чтобы он автоматически отправлялся после ввода пользователем значения, вы можете выполнить следующее:

$('#input-box').live('blur',function(){

    var inpt = $('#input-box').val();
    if (inpt != '') {
        alert('Voila!');           // (1)
        $('form').submit();
    } else {
        alert('fill something man');   // (2)
        return false; // to stop submitting
    }

});
0 голосов
/ 19 июля 2011

Greasemonkey выполняет код после того, как уже готово, это должно работать.Но есть ли на странице форма, и вы выбираете правильную форму?Отсюда мало информации.

Попробуйте сначала проверить функцию в firebug, она должна работать там.greasemonkey нужно немного поработать, чтобы понять jquery.Самый простой способ - использовать var $ = unsafeWindow.jQuery;в начале, при условии, что на странице, на которой вы находитесь, есть jQuery.

0 голосов
/ 19 июля 2011
alert('Voila!');           // (1)

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

Попробуйте:

$('form').submit(function(){
    alert('Voila!');           // (1)
}).trigger('submit');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...