javascript - 无法获取 2 个文本框的值

标签 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是文本框和div的id。

为什么这不起作用?

最佳答案

当发布这样的 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 对象。这也在一定程度上减少了在警报中手动编码的需要。

关于javascript - 无法获取 2 个文本框的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2669901/

相关文章:

c# - 从 View 模型将焦点设置在 WPF 中的 TextBox

c# - 为什么我的 WPF TextBox 不显示任何字符?

javascript - 使用 FlexSlider 和 $(window).resize() 调整浏览器大小的无限循环

javascript - 如何从 html/css 页面中的 excel 表中获取数据?

如果数组超过 10 个项目,Javascript 按子数组中的值对数组进行排序

css - 如何让页脚停留在网页底部?

javascript - 根据下拉菜单填充和禁用文本字段

javascript - 尝试制作一个带有动画的随机字符串生成器

javascript - DC.js 等值线 map CSS 与颜色冲突,没有 map 显示。如何关闭填充:none?

c# - 如何从 WinForms 中的文本框移除焦点?