如何在Javascript中获取元素的价值

时间:2014-03-27 11:07:31

标签: javascript

我有以下代码获取值为两个输入的值并将其发送到Ajax文件以进行处理。它不起作用,我发出警告,看看有什么问题,警报返回我[对象HTMLInputElement]。

<tr>
    <td>Introduzca licencia: </td>
    <td><input type="text" id="lic" name="lic" value=""/></td>
</tr>
<tr>
    <td>Introduzca apellidos: </td>
    <td><input type="text" id="ape" name="ape" value=""/></td>
</tr>
<script type="text/javascript">
    var lic=document.getElementById("lic").value;
    var ape=document.getElementById("ape").value;                      
</script>
<tr>
    <td><input type="button" value="Buscar" onclick="load(lic, ape);"/></td>
</tr>

如果我尝试它返回输入值

<script type="text/javascript">
    function prueba(){
        var lic=document.getElementById("lic").value;
        var ape=document.getElementById("ape").value;
        alert("La licencia es: "+lic+" y los apellidos son: "+ape);
   }
</script>
<tr>
   <td><input type="button" value="Buscar" onclick="prueba();"/></td>

如果我以相同的方式制作变量,我不知道为什么第一个代码不起作用。

1 个答案:

答案 0 :(得分:0)

在第一个代码块中load(lic, ape);的onclick处理程序(<input type'='button'>)中,load函数和两个参数(licape都没有)是定义的。

将其更改为:

  

onclick="load();"

并将您的脚本文件设为:

function load(){
    var lic = document.getElementById("lic").value,
        ape = document.getElementById("ape").value; 

    alert("lic is " + lic); // test
    alert("ape is " + ape); // test
}

<强> DEMO

P.S。您缺少<table>个标签。 document.getElementById将始终返回DOM对象。