0

我有以下代码:

<form>
    <input type="text" id="field1" name="field1" value="first value" />
    <input type="text" id="field2" onkeyup="showRSS(this.value, this.alt)" value="" alt="test">
</form>

showRSS()onkeyup 函数中,我需要调用第一个输入字段 ( id="field1") 中的值。我怎样才能做到这一点?

4

3 回答 3

2

将其 ID 用于document.getElementById()

因此,如果您想将其作为第三个参数传递给showRSS()

    <input type="text" id="field2" onkeyup="showRSS(this.value, this.alt, document.getElementById('field1').value)" value="" alt="test">

或者,如果您想从内部获取它showRss()

function showRSS( ... )
{
    var field1 = document.getElementById('field1').value;
}
于 2012-12-10T12:51:15.740 回答
0

使用下面的代码来做到这一点......

<form>
    <input type="text" id="field1" name="field1" value="first value" />
    <input type="text" id="field2" onkeyup="showRSS(this.value, this.alt, this.parentNode.getElementsByName('field1')[0].value)" value="" alt="test">
</form>

如果你在标签外使用field1as ,它不会产生任何问题......nameform

于 2012-12-10T14:12:39.210 回答
0

如果你想获取特定文本框的值,你可以在函数中迭代它们并根据它们的名称获取你想要的值。首先,在第二个文本框中添加一个名称,然后有这样的代码:

function showRSS() {
    var oForm = document.forms[0]; //assuming only one form
    var desiredInputNames = { "field1": "", "field2": "" }; //names of elements to read
    for (var i = 0; i < oForm.elements.length; i++) {
        var element = oForm.elements[i];
        if (desiredInputNames[element.name]) {
            var value = element.value;
            //handle the current value
        }
    }
}

(使用关联数组而不是普通数组进行更好的搜索)

于 2012-12-10T14:00:53.453 回答