2010-04-19 32 views
1

我试图用Javascript获取2个文本框的值。无法获取2个文本框的值

Textbox 1,没有错。

Textbox 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是文本框和div的ID。

为什么不能正常工作?

+2

您的代码的一个重要组成部分丢失 - HTML是哪里?你可以发布吗? – Oded 2010-04-19 18:39:57

+1

你能分享你的HTML吗? 另外“问题”不是一个很好的标签;我会去除那个你的。 – 2010-04-19 18:40:15

+0

然而,我们有49个问题与标签。 – ChaosPandion 2010-04-19 18:40:47

回答

6

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

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

  • 运行带有一个js控制台的浏览器。
  • 登录调试CONSOLE.LOG()
  • 为了确保执行console.log的曼妙降解,该代码添加到您的全局JavaScript:

    如果(typeof运算(控制台)== '不确定'){控制台= {log:function(){}}; }

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

    • 运行document.getElementById("textfield"+field).value检查您所期望的价值是否可用,然后往回走的路线,如果你没有找到你期待什么,例如如果.value不可用,运行document.getElementById("textfield"+field)并展开以查看它的内容,对象等
  • ,也可以运行你的选择在控制台中的任意JavaScript中,可点击访问由创建可用的JavaScript对象页面加载。这在一定程度上减少了在警报中手动编码的需要。
+0

严重的是,“警惕”是你唯一的选择的日子就在我们后面! – ChaosPandion 2010-04-19 18:49:40

+0

我会发送html – Alpjef 2010-04-28 15:54:54

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

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

当我在Firefox的javaconsole,无可厚非使用此代码!