我有这个HTML代码:
<table border="" cellpadding="3" cellspacing="0" id="mytable">
<tbody><tr><td>Song:</td> <td><input type="text" name="song" maxlength="64" size="48" /> </td></tr>
<tr><td>Artist:</td> <td><input type="text" name="artist" maxlength="16" size="48" /> </td></tr>
如何获得“歌曲”和“艺术家”的价值?我试过了:
var elTableCells = mytable.getElementsByTagName("td");
alert(elTableCells[2].value);
alert(elTableCells[4].value);
但即使文本框中有文字
,我仍然会“未定义”答案 0 :(得分:4)
首先,td
元素没有value
属性,因此对它们调用.value
将不起作用。其次,该值实际上位于input
元素上,因此您需要执行mytable.getElementsByTagName('input')
。更好的方法是提供输入字段ID,然后使用getElementById
。这意味着您可以在不破坏JS的情况下更改HTML。
答案 1 :(得分:1)
下载jquery
jQuery("input[name='song']").val()
尝试解决下面的论点。这可以用普通的javascript来解决,但为了简单和跨浏览器标准化我会推荐jQuery。它是一个广泛使用且通常极力推荐的库。
答案 2 :(得分:1)
var song = document.getElementsByName("song").value;
var artist = document.getElementsByName("artist").value;
答案 3 :(得分:1)
此处相关的tagName是“input”,而不是td。那将为您提供所需的信息。
这几乎是StackOverflow的陈词滥调,但我建议你看看JQuery。 JQuery允许您将html视为数据库并查询它以获取此类内容。如果您的标记是这样的:
<input type="text" id="song" maxlength="64" size="48" />
你可以得到这样的价值:
$("#id").value();
如果你想获得maxlength属性的值,你可以这样做:
$("#id").attr("maxlength");
比挖掘元素数组更有趣。
答案 4 :(得分:0)
alert(document.getElementsByName("song")[0].value);
alert(document.getElementsByName("artist")[0].value);
答案 5 :(得分:0)
我发现这有效地工作,下面我从asp.net文本框获取日期,然后获取今天的日期。然后我通过函数发送两个日期以获得我需要进行计算的月数(请注意代码使用Infragistics库(如果您打算复制和粘贴,请使用标准JavaScript调用替换这些调用):
x