获取表单的价值不起作用

时间:2014-01-08 15:52:13

标签: javascript

我的任务是检查用户键入的内容。如果他键入“Mars”,他就会获得该值。

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;
}
   }

该函数返回default-block。怎么修?谢谢。

3 个答案:

答案 0 :(得分:0)

试试这个

您必须在send函数中获取输入值。

演示链接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>

答案 1 :(得分:0)

你要在函数send()中声明一个变量:并设置 切换案例中planetEntered用于检查:

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

    }
}

JS Fiddle Demo

答案 2 :(得分:0)

您没有在send()方法中指定输入框的值,因此在调用send()时它的值是默认值(空)。