Функция Javascript для проверки значений формы при отправке - PullRequest
0 голосов
/ 13 октября 2011

Модифицированный вопрос, чтобы вы могли прекратить принимать Майкла!

Хорошо, я хочу использовать jquery для проверки.

Значения формы взяты из скрытых входных данных. Так что, если какие-либо скрытые входы == 0, я хочу предупредить пользователя, чтобы заполнить форму. Если все == 1, я хочу отправить форму.

Я хочу отправить с помощью кнопки ввода типа с событием onclick.

<script>
jquery function
if all hidden == 0
alert
else 
location.href='submit2pd.php
</script>
<input onclick="(the jquery function)" type="button" value="Submit" />

Ответы [ 5 ]

2 голосов
/ 13 октября 2011

Сделайте себе одолжение и изучите jQuery (или другую библиотеку js по вашему выбору). Вы можете заменить свою функцию на что-то вроде этого:

$('#formId').submit(function(e){
    $(this).find('checkbox').each(function(){
        if($(this).val() == '0') {
            alert('Please complete the form before submitting.');
            e.preventDefault();   
        }  
    });
});
2 голосов
/ 13 октября 2011

Удаление всего блока else, вероятно, поможет (если у вашего <form> есть target). Что касается остальной части вашего кода, ну ... не обращайте внимания.

1 голос
/ 13 октября 2011

Пример того, что вы хотите сделать, что работает, можно найти здесь: http://www.shiningstar.net/articles/articles/javascript/checkboxes.asp

Я дам вам конкретный ответ и более концептуальный ответ о том, почему то, что у вас не работает.

В частности, вы хотите заменить все эти элементы контрольным списком. Whwh.поддерживая это.Вам нужно использовать цикл for, чтобы заставить его работать, потому что слишком просто вводить опечатки в этот код.

Я согласен с Андре, что вам следует использовать jQuery, потому что это API для взаимодействия с элементами HTML.проще, чем родной JavaScript API.Во-вторых, получите firebug и научитесь использовать console.log.В-третьих, зайдите на сайт JavascriptLint и узнайте, как использовать этот инструмент.

0 голосов
/ 13 октября 2011

Попробуйте вставить предупреждение («в функции ... бла»);или два в этом блоке jscript, затем вы можете сказать, что он вызывается успешно, а затем вы можете разобраться с тем, что вы пытаетесь сделать в блоке.

0 голосов
/ 13 октября 2011

В вашем контрольном списке функций есть элемент ввода, поэтому checklist.taccept не найдет элемент. Вам нужно пройти через форму как checklist, чтобы это работало.

Я думаю, что решение jQuery от Andre намного более элегантно и так же просто в реализации. Вместо обработчика отправки, просто добавьте это как клик даже к вашей кнопке и измените $(this) на $("#formid")

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