GetElementByID返回null值

时间:2014-09-08 07:21:10

标签: javascript php getelementbyid

我尝试使用javascript在我的项目上添加验证,但是如果我使用GetElementByID函数,我的javascript函数不会返回值。 所以,我的php脚本就像:

<select name="IDDep" style="width:152px" onClick="getListaDep()"> 
    //blah blah
</select><span></span>

<div id="divDep">

重要的是onClick

我的javascript:

function getListaDep( ) {
        var IDDep ;
        IDDep= document.getElementById(IDDep).value;

        var strURL="ajax_page/findDepTranz.php?&IDDep="+IDDep;

        var req = getXMLHTTP();     
        if (req) {          
            req.onreadystatechange = function() {
                if (req.readyState == 4) {
                    // only if "OK"
                    if (req.status == 200) {            
                        document.getElementById('divDep').innerHTML=req.responseText;   
                    } else {
                        alert("There was a problem while using XMLHTTP:\n" + req.statusText);
                    }
                }               
            }           
            req.open("GET", strURL, true);
            req.send(null);
        }               
    }

findDepTranz.php

<?php
$IDDep = intval($_GET['IDDep']);
?>

<div>
    <?php echo 'IDDep: '.$IDDep; ?>
</div>  

此示例并未向我返回IDDep,但如果我改为:onClick="getListaDep(this.value)"并在javascript中:

 function getListaDep(IDDep ) {             
        var strURL="ajax_page/findDepTranz.php?&IDDep="+IDDep;
.... if works.

我需要返回像IDDep这样的2个值,而我的document.getElementById(IDDep).value不起作用。 有什么建议吗?

2 个答案:

答案 0 :(得分:3)

您需要引用ID:

IDDep= document.getElementById('IDDep').value;

您还需要更改select,以便它具有ID:

<select name="IDDep" id="IDDep" style="width:152px" onClick="getListaDep()"> 
                     ^^^^^^^^^^

答案 1 :(得分:0)

尝试以下方法: 变化

IDDep = document.getElementById(IDDep).value;

IDDep = document.getElementById('IDDep').value; //Quoting the id

<select name="IDDep" style="width:152px" onClick="getListaDep()"> 

<select name="IDDep" style="width:152px" onClick="getListaDep()" id="IDDep">

然后在你的javascript中执行以下操作

document.getElementById('IDDep').addEventListener('change', function() {
   //Your function here
});
//You can change 'change' to 'click' aswell if you need to

这也允许你删除onclick所以

<select name="IDDep" style="width:152px" onClick="getListaDep()" id="IDDep">

成为

<select name="IDDep" style="width:152px" id="IDDep">