2017-08-22 23 views
0

showDetails()関数を呼び出す送信ボタンをクリックすると、nameemailの入力ボックスが未定義に表示されます。これは、入力ボックスに値がある場合にも発生します。入力ボックスが表示されないのはなぜですか?

<script type="text/javascript"> 
function showDetails(){ 

    var e = document.getElementById("email"); 
    //var t = document.getElementById("t"); 
    var n = document.getElementById("name"); 
    var m = document.getElementById("m"); 

    var c; 
    var r; 
    document.getElementById("email").value = c; 
    document.getElementById("name").value = r; 
    document.getElementById("t").value = "Your name is: "+r+" and your email is: "+c; 
} 
</script> 

なぜこのようなことが起こりますか?

+2

あなたは、それぞれ 'C'と 'r'に' email'と 'name'の値を割り当てていない、どちらも任意の値が設定されています(あなたがそれらを間違った方法ラウンドを持っている) – billyonecan

+0

は、' Cをvarsの'と' r'は定義されておらず、それらを要素の値に割り当てました。関数が呼び出されるたびに。 –

+1

これは完全に後方です: 'document.getElementById(" email ")。value = c'。ここに必要なのは 'c = e.value' –

答えて

3

これは、値を未定義に割り当てるためだと思います。

<script type="text/javascript"> 
    function showDetails() { 

    var e = document.getElementById("email"); 
    //var t = document.getElementById("t"); 
    var n = document.getElementById("name"); 
    var m = document.getElementById("m"); 

    var c = document.getElementById("email").value; // Here you set it the value = undefined variable 
    var r = document.getElementById("name").value; 

    document.getElementById("t").value = "Your name is: " + r + " and your email is: " + c; 
    } 
</script> 
+1

または' var c = e.value'と 'var r = n.value'です。 – billyonecan

+0

@billyonecan絶対に! – Riddell

0

私は割り当てに問題があると思います。これを試して。

c=document.getElementById("email").value;r=document.getElementById("name").value; 
関連する問題