Nano Hash - криптовалюты, майнинг, программирование

Функция Javascript для проверки значений формы при отправке

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

Хорошо, я хочу использовать 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" />
13.10.2011

  • Вау! Это какой-то убер-код! Действительно ли значения равны 0 или пусты ()? Не могли бы вы опубликовать свой HTML для формы? 13.10.2011
  • Почему не это работает? Вы видите сообщение об ошибке? Почему он не работает так, как вы ожидаете? 13.10.2011
  • Вам нужно отправить форму, если она проверяется, на данный момент вы просто перенаправите пользователя на PHP и сотрете то, что они поместили в поля формы. 13.10.2011
  • @Alex: код html/php огромен, в основном я хочу сообщение об ошибке, если какой-либо из 31 входных данных равен 0 (значения равны 0). Я использую скрипт автосохранения jquery для кнопки отправки формы, поэтому я хочу, чтобы отдельная кнопка отправлялась в другой скрипт, это сохраняется в БД и отправляет уведомление по электронной почте. 13.10.2011
  • @maerics: я нажимаю кнопку, и ничего не происходит 13.10.2011
  • если вам подходит jquery... stackoverflow.com/questions/1497945/ 13.10.2011

Ответы:


1

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

13.10.2011

2

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

$('#formId').submit(function(e){
    $(this).find('checkbox').each(function(){
        if($(this).val() == '0') {
            alert('Please complete the form before submitting.');
            e.preventDefault();   
        }  
    });
});
13.10.2011
  • Недавно я немного изучил jquery, и эта форма уже использует его. Я пытался использовать проверку jquery, но не смог заставить ее работать, подумал, что так будет проще. 13.10.2011
  • Поскольку у меня есть функция автосохранения при отправке формы, я хочу отделить проверку. Я хочу, чтобы пользователь мог сохранить форму без ее проверки, чтобы он мог вернуться позже, а затем отправить ее. 13.10.2011

  • 3

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

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

    В частности, вы хотите заменить все эти элементы на checklist.whatever.checked==false

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

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

    13.10.2011

    4

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

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

    13.10.2011

    5

    Попробуйте вставить alert('in function...bla'); или два в этом блоке jscript, тогда вы можете сказать, что он вызывается успешно, тогда вы можете справиться с тем, что вы пытаетесь сделать в блоке.

    13.10.2011
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..