2013-10-27 5 views
0

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

function SignUp() { 
var firstname = $("#firstname").val(); 
var lastname = $("#lastname").text(); 
var date = $("#dd option:selected").text(); 
var month = $("#mm option:selected").text(); 
var yy = $("#yy option:selected").text(); 
var sex = $("input:radio[name=sex]:checked").val(); 
    if ($.trim($("#firstname").val()) == "") { 
    document.getElementById("firstnameerror").innerHTML = "Please write firstname"; 



    if ($.trim($("#lastname").val()) == "") { 
    document.getElementById("lastnameerror").innerHTML = "Please write lastname"; 



    if (!$("input[name='sex']:checked").val()){ 
    document.getElementById("gendererror").innerHTML = "Please select your gender"; 

     } 

    } 
     } 
} 
+0

положите его на скрипку или добавьте свой HTML-код. – N20084753

+0

добавление его в код html не работает и что такое скрипка –

+0

http://jsfiddle.net/ - можете разместить здесь свой код. – N20084753

ответ

0

При вызове функции SignUp() в качестве кнопки отправки щелкают вы должны return false для формы не представляется.

С JQuery вы можете легко сделать:

$('#submitButtonId').click(function(){ 

SignUp(); 
return false; 

}) 

Если все идет сразу после яваскрипта проверки вы можете сделать:

$(#myFormId).submit();

или просто:

<input type="submit" name="send" value="SEND" onclick="SignUp(); return false;" /> 
+0

глупый вопрос, но где писать $ (# myFormId) .submit(); –

+0

Я очистил свой вопрос, есть еще одна вещь, которую нужно добавить, просто используйте else метод вроде этого if ($ .trim ($ ("# lastname"). Val()) == "") { $ (" #lastnameerror "). text (" Please write lastname "); e.preventDefault(); } else { $ ("# lastnameerror"). Text (""); } ' –

1

Проблема заключается в том, что вы не предотвращаете поведение по умолчанию которая подает. Попробуйте это (упрощенный код):

function SignUp(e) { 
    var firstname = $("#firstname").val(); 
    var lastname = $("#lastname").text(); 

    if ($.trim($("#firstname").val()) == "") { 
     $("#firstnameerror").text("Please write firstname"); 
     e.preventDefault(); // <!-- prevent form submit in case of errors 
    } 
    else { 
     $("#firstnameerror").text(''); 
    } 

    if ($.trim($("#lastname").val()) == "") { 
     $("#lastnameerror").text("Please write lastname"); 
     e.preventDefault(); 
    } 
    else { 
     $("#lastnameerror").text(""); 
    } 
} 

$('#form').submit(SignUp) 

http://jsfiddle.net/fh6Ar/

Также не связывают CLICK события кнопки отправки. Форма имеет специальное событие для этого submit event.

Смежные вопросы