2013-05-27 2 views
0

Я уже много дней перебираю через Stack Overflow, пытаясь понять, почему мой код не работает. Увы, вот я, задавая очень простой вопрос.Функция onclick javascript, не передающая переменную из текстового поля

У меня есть HTML-форма с текстовым полем и кнопкой отправки. Вы вводите число в текстовое поле, нажмите кнопку «Отправить», и предполагается, что он должен обновить div с информацией о введенном вами номере. Я знаю, что функция работает. Если я жестко закодирую номер в кнопку отправки, он правильно вставляет html. Но если я изменил onclick кнопки отправки, чтобы включить текст в текстовое поле, ничего не происходит.

Любая помощь была бы принята с благодарностью.

HTML ===============================

<form> 
<input type="text" name="thenumber" id="thenumber" /> <input type="button" onClick="numbers(document.getElementById('thenumber').value);" value="Click Me!" /> 
</form> 
<div id="message"></div> 

JS ====== =========================== снова

var numbers = function(identify){ 

switch (identify) { 

    case '1234': 
     document.getElementById("message").innerHTML = "Device 1"; 
     break; 
    case '5678': 
     document.getElementById("message").innerHTML = "Device 2"; 
     break; 
    case '9101': 
     document.getElementById("message").innerHTML = "Device 3"; 
     break; 
     default: 
     document.getElementById("message").innerHTML = "Device Unknown"; 
}; 
}; 

Спасибо за вашу помощь!

ответ

1

У вас не хватает скобку

"numbers(document.getElementById('thenumber').value)" 
+0

Спасибо за комментарий. Я исправил это, но он все еще не работает. Любые другие мысли? – Critologist

+0

Использовать все строчные буквы 'onclick'? –

+0

Все в нижнем регистре onclick зафиксировали его. Я весьма озадачен. Dreamweaver автоматически использует C! Спасибо за вашу помощь! – Critologist

0

Если вы хотите включить этот текст в текстовом поле, вы не должны использовать innerHTML, вы должны использовать значение.

Ex: document.getElementById ("message"). Value = "Device Unknown";

+0

Значение в текстовом поле - это просто проверить, находится ли устройство в списке. Например, если в текстовое поле было введено «1234», «Устройство 1» появится в DIV. – Critologist

0

Хорошо, попробуйте скопировать мой код.

<input type="text" name="thenumber" id="thenumber" /> 
<input type="button" onClick="numbers(document.getElementById('thenumber').value)" value="Click Me!" /> 

<div id="message"></div> 

var numbers = function(identify){ 

switch (identify) { 

    case '1234': 
     document.getElementById("message").innerHTML = "Device 1"; 
     break; 
    case '5678': 
     document.getElementById("message").innerHTML = "Device 2"; 
     break; 
    case '9101': 
     document.getElementById("message").innerHTML = "Device 3"; 
     break; 
     default: 
     document.getElementById("message").innerHTML = "Device Unknown"; 
}; 
}; 

Вы синтаксическую ошибку на OnClick событие

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