2014-01-08 2 views
0

Моя задача - проверить, что вводит пользователь. Если он имеет ключи в «Марсе», он получает значение.Получение значения формы не работает

PLanet: <input type="text" id="form_1"> 
<input type="submit" onClick="send()" value="Send"> 
<script> 
var planetEntered = document.getElementById('form_1').value; 

var plantesLength = new Array(3); 
plantesLength['Mars'] = 52; 
plantesLength['Venera'] = 30; 
plantesLength['Earth'] = 10; 
plantesLength['Merkyriy'] = 60; 
alert(plantesLength['Merkyriy']); 
function send() { 
switch(form_1) { 
    case 'Mars': 
    alert(plantesLength['Mars']); 
    break; 

    case 'Venera': 
    alert(plantesLength['Venera']); 
    break; 

    case 'Earth': 
    alert(plantesLength['Earth']); 
    break; 

    case 'Merkyriy': 
    alert(plantesLength['Merkyriy']); 
    break; 

    default: 
    alert("К сожалению, мы не нашли ни одну программу."); 
    break; 
} 
    } 

Функция возвращает блок по умолчанию. Как исправить? Благодарю.

+0

Где? Form_1' получает инициализацию? –

+0

Посмотрите на первую строку кода. –

+0

Вы не можете установить значение в 'switch', как это! вы должны использовать 'switch (planetEntered)' –

ответ

0

попробовать это

вы должны получить входные значения внутри функции send.

Demo Ссылка http://jsbin.com/ejaSUTiH/1/

PLanet: <input type="text" id="form_1"> 
    <input type="submit" onClick="send()" value="Send"> 


<script> 
    var plantesLength = new Array(3); 
    plantesLength['Mars'] = 52; 
    plantesLength['Venera'] = 30; 
    plantesLength['Earth'] = 10; 
    plantesLength['Merkyriy'] = 60; 
    alert(plantesLength['Merkyriy']); 
    function send() { 
     var planetEntered = document.getElementById('form_1').value; 
     console.log(planetEntered); 
    switch(planetEntered) { 
     case 'Mars': 
     alert(plantesLength['Mars']); 
     break; 

     case 'Venera': 
     alert(plantesLength['Venera']); 
     break; 

     case 'Earth': 
     alert(plantesLength['Earth']); 
     break; 

     case 'Merkyriy': 
     alert(plantesLength['Merkyriy']); 
     break; 

     default: 
     alert("К сожалению, мы не нашли ни одну программу."); 
     break; 
    } 
     } 

</script> 
+0

Спасибо. Это работает правильно! –

0

Вы имеете объявить переменную внутри функции Send(): И установите planetEntered в случае переключения для проверки:

function send() { 
    var planetEntered = document.getElementById('form_1').value; // Here 
    switch(planetEntered) { // Change 

    } 
} 

JS Fiddle Demo

+0

Я понял, что вы имели в виду. Спасибо, я уже решил свою проблему. –

0

Вы не присваиваете значение поля ввода в методе send(), поэтому оно является значением по умолчанию (пустое) при отправке() называется.

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