У меня есть html-форма и вы хотите создать Javascript-код, который бы проверял, есть ли Tel. поле содержит только числа. Это упражнение, поэтому я не хочу использовать jQuery или любую другую библиотеку. Я поставил вместе это:Проверка ввода формы Javascript
HTML
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1" onsubmit="return numberedFieldsCheck()">
<table>
<tr>
<td>
<label for="tel">Telephone</label></td>
<td>
<input type="text" placeholder="00441293603275" name="tel" id="tel" />
<span id="telFieldIntCheck" style="display:none;color:red">You can only use numbers.</span>
</td>
<td>
<input type="submit" name="button" id="button" value="Submit" />
</td>
</tr>
</table></form>
JS
function numberedFieldsCheck(){
var x=document.getElementById('tel').value;// retrieving value from the form
console.log(x);
if(!integerCheck(x)){
alert('wrong format');
document.getElementById('telFieldIntCheck').style.display="inline";
return false;
}
}
function integerCheck(userInput) {
var userInputArr=userInput.split('');
for (i=0;i<userInputArr.length;i++){
if (typeof userInputArr[i]=="number")
{console.log('format ok')}
else {return false};
}
}
Можете ли вы помочь мне с кодом? Он предупреждает неправильный формат, независимо от того, что я ввел в поле ввода. Журналы консоли отображаются в течение миллисекунды и сразу исчезают.
Что такое консольный выход? Ничего? Вы нажимаете кнопку «Отправить»? – BaseZen
Вы должны изменить этот 'onsubmit =" numberedFieldsCheck() "' на этот 'onsubmit =" return numberedFieldsCheck() "' – hindmost
@hindmost: если то, что я знаю правильно, его функция также должна явно возвращать значение 'true', если все все в порядке, верно? Я знаю, что по умолчанию возвращает 'undefined'. – limekin