我正在尝试使用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
。
为什么这不起作用?
答案 0 :(得分:6)
发布这样的html / javascript / css问题时,请将代码隔离并放入jsfiddle(jsfiddle.net)。这不仅可以让其他人更快地为您解决问题,而且通常会将代码与环境隔离,从而减少可能导致意外行为的额外因素。通常,将代码段移动到jsfiddle.net的过程可以在其他人甚至需要参与之前显示问题!
其次,我建议修改您的调试实践,使自己比使用警报更容易:
要确保console.log正常降级,请将此代码添加到您的全局javascript:
if(typeof(console)=='undefined'){console = {log:function(){}}; }
在控制台中运行js以检查静态代码中出现错误的值,例如
document.getElementById("textfield"+field).value
以检查您期望的值是否可用,然后如果找不到您期望的内容,请返回该行,例如:如果.value
不可用,请运行document.getElementById("textfield"+field)
并展开对象以查看其内容等。答案 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中使用此代码时,没有错!