2015-02-18 1 views
1

Если этот вопрос был дан ответ в другом месте, я извиняюсь (я проверял перед рукой, но не смог найти ответ).on submit не работает сценарий проверки

Проблема, кажется, что сценарий проверки не работает, когда я нажимаю представить.

Вот код:

window.onload = function() { 
 
\t document.forms[0].onsubmit = validForm; 
 
} 
 
function validForm() { 
 
\t var allGood = true; 
 
\t var allTags = document.forms[0].getElementsByTagName("*"); 
 
\t for (var i=0; i<allTags.length; i++) { 
 
\t \t if(!validTag(allTags[i])) { 
 
\t \t \t allGood = false; 
 
\t \t } 
 
\t } 
 
\t return allGood; 
 
\t function validTag(thisTag) { 
 
\t \t var outClass = ""; 
 
\t \t var allClasses = thisTag.className.split(" "); 
 
\t \t for (var j=0; j<allClasses.length; j++) { 
 
\t \t \t outClass += validBasedOnClass(allClasses[j]) + " "; 
 
\t \t } 
 
\t \t thisTag.className = outClass; 
 
\t \t if (outClass.indexOf("invalid") > -1) { 
 
\t \t \t thisTag.focus(); 
 
\t \t \t if (thisTag.nodeName == "INPUT") { 
 
\t \t \t \t thisTag.select(); 
 
\t \t \t } 
 
\t \t \t return false; 
 
\t \t } 
 
\t \t return true; 
 
\t \t function validBasedOnClass(thisClass) { 
 
\t \t \t var classBack = ""; 
 
\t \t \t switch(thisClass) { 
 
\t \t \t \t case "": 
 
\t \t \t \t case "invalid": 
 
\t \t \t \t \t break; 
 
\t \t \t \t case "reqd": 
 
\t \t \t \t \t if(allGood && thisTag.value == "") { 
 
\t \t \t \t \t \t classBack = "invalid"; 
 
\t \t \t \t \t } 
 
\t \t \t \t \t classBack += thisClass; 
 
\t \t \t \t \t break; 
 
\t \t \t \t default: 
 
\t \t \t \t \t classBack += thisClass; 
 
\t \t \t } 
 
\t \t \t return classBack; 
 
\t \t } 
 
\t } 
 
}
input.invalid { 
 
\t background-color: yellow; 
 
\t border: 1px solid red!important; 
 
}
<form action="#" id=quote-generator> 
 
    <input type=number step=1 placeholder=Distance id=distance class=reqd autofocus> 
 
    <input type=text value="Running Cost" id=fuelPrice onFocus="this.blur()" readonly><span id=aside title="This value is calculated by the AA & is updated every 3 months">*</span> 
 
</form> 
 
<input type=submit value="Submit" form=quote-generator onclick="formQuote()">

Вот fiddle.

+0

formQuote() не определен, поэтому он показывает ожидаемую ошибку объекта –

+0

и зачем вам нужен onclick? вы уже привязываете 'document.forms [0] .submit = validForm;' on window.load event? –

ответ

0

Вы пытаетесь вызвать функцию formQuote, которая не определена, изменить его validForm, который используется в вашем коде проверить форму

Смотрите эту рабочую скрипку: https://jsfiddle.net/jrx5uhju/1/

код:

<input type=submit value="Submit" form=quote-generator onclick="validForm()"> 
0

ReferenceError: formQuote не определен

<input type=submit value="Submit" form=quote-generator onclick="validForm()"> 
+0

Почему такой же ответ снова? уже Нейм Шейх получил ответ так же, как и вы, и он сделал это первым, а затем, почему тот же ответ снова? –

+0

Я пытался использовать одно и то же, и в течение 1-2 минут был отправлен ответ на бит. –

+0

@ArunprasanthKV он, вероятно, не заметил, случилось со мной тоже пару раз. –

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