Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проверка вводимых значений в input type="text" (https://javascript.ru/forum/misc/52870-proverka-vvodimykh-znachenijj-v-input-type%3D-text.html)

Valentin1918 10.01.2015 22:00

Проверка вводимых значений в input type="text"
 
Необходимо, чтоб после нажатия кнопки "Ответить" срабатывала функция, которая проверит, введены ли цифры в поле input type="text".
Следовательно, если это так, то в параграф "comment" попадет собщение "Спасибо за ввод цифр", или если нет, то сообщение "Введите пожалуйста цифры".
Помогите пожалуйста найти ошибку в моем примере. Заранее спасибо!


html:
<form>
<label for="answer">Введите ответ:</label>
<input type="text" maxlength="4" id="answer">
<p id="comment"></p>
<input type="button" value="Ответить" id="buttonCalc" onclick="newF()">
</form>

javascript:
function newF() {
var answer=document.getElementById("answer");
var regAns=/^\d\d?\d?\d?$/;
var resultAns=answer.match(regAns);

if (resultAns) {
$('#comment').text("Спасибо за ввод цифр");}
else {
$('#comment').text("Введите пожалуйста цифры");
};
};

Vlasenko Fedor 10.01.2015 22:08

А так не будет достаточно?
<input type="number" required>

рони 10.01.2015 22:11

Цитата:

Сообщение от Valentin1918
var answer=document.getElementById("answer");

это элемент или цифры?

Valentin1918 10.01.2015 22:11

Poznakomlus,
спасибо, но хотелось именно, чтоб дать юзеру свободу действий и потом при помощи сообщения поблагодорить его.

Valentin1918 10.01.2015 22:15

рони,
необходимо, чтоб в answer попало именно то значение, которое введет человек. А потом, следовательно, при помощи регулярного выражения проверилось.

рони 10.01.2015 22:23

Цитата:

Сообщение от Valentin1918
nswer попало именно то значение, которое введет человек

наверно у инпута есть нечто что содержит значение которое вводит человек и его вы хотите проверить -- вопрос на засыпку что это?

Vlasenko Fedor 10.01.2015 22:32

<form>
  <label for="answer">Введите ответ:</label>
  <input type="text" maxlength="4" id="answer" value="">
  <p id="comment"></p>
  <input type="button" value="Ответить" id="buttonCalc">
</form>
<script>
  document.getElementById("buttonCalc").onclick = function () {
    document.getElementById("comment").innerHTML = {
      true: "Спасибо за ввод цифр",
      false: "Введите пожалуйста цифры"
    }[/\d{1,}/.test(document.getElementById("answer").value)];
  };
</script>

Valentin1918 10.01.2015 22:42

Методом научного тыка пришел к:
var answer=document.getElementById("answer").value;
Спасибо за наводку. Все заработало.

Valentin1918 10.01.2015 22:43

Poznakomlus,
тоже спасибо!

danik.js 11.01.2015 09:27

Цитата:

Сообщение от Poznakomlus
\d{1,}

Это вообще-то \d+


Часовой пояс GMT +3, время: 07:17.