无法获得2个文本框的值

时间:2010-04-19 18:38:35

标签: javascript html textbox

我正在尝试使用Javascript获取2个文本框的值。

文本框1,没有错。

文本框2,相同的代码,但没有任何反应。

这是代码

var fieldname;
fieldname = document.getElementById("div"+field).getAttribute("field");

alert(fieldname);    // RETURNS "Birthdate"
var textval;

textval = document.getElementById("textfield"+field).value;
alert(textval);      // RETURNS NOTHING

var field是文本框的ID和div

为什么这不起作用?

3 个答案:

答案 0 :(得分:6)

发布这样的html / javascript / css问题时,请将代码隔离并放入jsfiddle(jsfiddle.net)。这不仅可以让其他人更快地为您解决问题,而且通常会将代码与环境隔离,从而减少可能导致意外行为的额外因素。通常,将代码段移动到jsfiddle.net的过程可以在其他人甚至需要参与之前显示问题!

其次,我建议修改您的调试实践,使自己比使用警报更容易:

  • 使用js控制台运行浏览器。
  • 将调试记录到console.log()
  • 要确保console.log正常降级,请将此代码添加到您的全局javascript:

    if(typeof(console)=='undefined'){console = {log:function(){}}; }

  • 在控制台中运行js以检查静态代码中出现错误的值,例如

    • 运行document.getElementById("textfield"+field).value以检查您期望的值是否可用,然后如果找不到您期望的内容,请返回该行,例如:如果.value不可用,请运行document.getElementById("textfield"+field)并展开对象以查看其内容等。
  • 您还可以在控制台中运行您选择的任意javascript,并可单击访问页面加载创建的可用javascript对象。这有点减少了在警报中手动编码的需要。

答案 1 :(得分:0)

<div id="div<?php echo $aantal;?>" field="<?php echo $rows['field'];?>">
                            <h3><?php echo $rows['name'];?>:</h3>
                            <p id="p<?php echo $aantal;?>">
                                <input type="text" id="textfield<?php echo $aantal;?>" value="<?php echo $rows['default'];?>" MAXLENGTH="<?php echo $rows['length'];?>"/><br/>
                                <input type="button" id="buttonacc<?php echo $aantal;?>" value="Verzend" onClick="acc('<?php echo $aantal;?>');"/>
                                <input type="button" id="buttonden<?php echo $aantal;?>" value="Nu niet!" onClick="den('<?php echo $aantal;?>');"/>
                            </p>
</div>

这是HTML

答案 2 :(得分:0)

javascript:var val = 1;alert(document.getElementById("textfield"+val).value)

当我在firefox的javaconsole中使用此代码时,没有错!