2014-10-19 3 views
0

Я только что написал код проверки, чтобы проверить, были ли выбраны какие-либо из моих radio кнопок из моей веб-формы до их отправки. Я только начинаю учиться php, так как хочу иметь value каждой кнопки radio в файле .csv.Запрос на проверку формы JavaScript

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

Есть ли способ вернуться к моему первоначальному index.html после сообщения alert?

Я еще не написал php, так ли это будет в сценарии php или javascript?

Heres мой код до сих пор:

$("#submit").on("click", function() { 

    var radio = $("input[type=radio][name=emotion]")[0].checked; 
    var radio2 = $("input[type=radio][name=emotion]")[1].checked; 
    var radio3 = $("input[type=radio][name=emotion]")[2].checked; 

    if(!radio && !radio2 && !radio3) { 
     alert("You must select at least one word!"); 
    } 
    else { 
     alert("Please rate the next item!") 
    } 
}); 

ответ

1

В Jquery вы должны использовать .submit() функцию для проверки формы. Тогда, чтобы избежать отправки формы вы можете использовать функцию event.preventDefault() И если вы хотите идти в индекс можно использовать window.location = "yourURL"

+0

Спасибо, что вместо '$ (" # submit "). On (" click "....' Я меняю его на '$ (" # submit "). Submit (function (event) ....' и place 'event.preventDefault();' в моей инструкции 'if'? – user1574598

+0

yes и перенаправить на индекс, если вы этого хотите. – fritsMaister

+0

Прохладный - у меня будет игра с кодом, так как кажется, что много разных пути вокруг этой проблемы :-) – user1574598

1

Вы должны использовать form.onsubmit(). Например, если имя вашей формы является Myform:

document.forms['myForm'].onsubmit = function() 
{ 
    if (this.elements['emotion'].value) 
    { 
     alert("Please rate the next item!"); 
    } 
    else 
    { 
     alert("You must enter at least one word!"); 
     return false; 
    } 
} 

И после того, как тревога «Пожалуйста, оцените следующий пункт!» форма будет отправлен.

+0

Спасибо - это 'onSubmit' функцию Javascript или JQuery? – user1574598

+0

Это обработчик javascript формы. В jquery - $ (form) .submit (function() {}); – dfionov

+0

Еще раз спасибо - все это собралось немного сейчас после всех полезных ответов, которые у меня были до сих пор. Хотел бы я пометить все вопросы как правильные! – user1574598

1

На самом деле вы можете использовать jquery $.post(), простое решение - это просто опубликовать вашу php-страницу, не выходя из индексной страницы.

http://api.jquery.com/jquery.post/

$.post("yourpage.php"); 
+0

Я вижу - поэтому вместо того, чтобы запускать скрипт в атрибуте 'action' тега/элемента' form', я могу просто поместить эту строку кода в любом месте своего Javascript всякий раз, когда я хочу, чтобы 'php'script был запущен ? – user1574598

+0

@ user1574598 всякий раз, когда вы хотите опубликовать свою php-страницу (это похоже на то, что вы открываете эту страницу в фоновом режиме), вы можете использовать этот простой код, конечно, это проще всего, вы можете также проверить ответ от php (возвращенных данных). – ProllyGeek

+0

Спасибо - это полезная информация, поскольку я думал, что привязан к тегу 'form' с точки зрения запуска' php'scripts :-) – user1574598

0

Вы, вероятно, имеют тип входного сигнала кнопку отправки, как подать? Установите это на кнопку, так что действие не выполняется и выполняется только jQuery.

Но тогда вы должны представить форму с помощью JQuery, когда проверка была успешной:

document.myFormId.submit(); 
Смежные вопросы