【问题标题】:How can i use input fields as parameters to functions in javascript?如何在 javascript 中使用输入字段作为函数的参数?
【发布时间】:2011-08-19 11:05:22
【问题描述】:

所以我有一些输入文本字段和一个按钮

<input type=text value="a"/>
<input type=text value="b"/>
<input type=button onclick=???/>

我想使用这些文本字段的值作为函数中的参数,当我单击按钮时调用该函数,比如说

function foo(a,b) {
    dostuff(a);
    dostuff(b);
}

我不知道问号应该填什么。那么什么获取文本输入的值,我不认为 document.getElementById 获取它们的值,只是元素本身。

【问题讨论】:

    标签: javascript html function input


    【解决方案1】:

    有多种方法可以访问这些值,但推荐的方法是从提供输入元素 ID 开始。

    <input type=text value="a" id="a"/>
    <input type=text value="b" id="b"/>
    

    现在,您可以使用document.getElementById 获取元素,然后获取值

    <input type=button onclick="foo(document.getElementById('a').value,document.getElementById('b').value)" />
    

    注意使用 ' vs " 因为它们是嵌套的...

    但您也可以将 ID 传递给 foo,并让 foo 执行 getElementById-stuff。

    【讨论】:

    • 框架设置为“onLoad”,因此foo 函数在闭包中被捕获,在全局范围内不可用。将其设置为“不换行”,您应该会很好。
    • 并非所有浏览器 (IE lte 4) 都支持 getElementById。见stackoverflow.com/a/1945802/2225787
    【解决方案2】:

    id 分配给输入,然后使用getElementById 调用它们

    <input type="text" id="field1" value="a"/>
    <input type="text" id="field2" value="b"/>
    <input type=button onclick="foo('field1','field2');"/>
    
    <script type="text/javascript">
        function foo(a,b) {
            elemA = document.getElementById(a).value;
            elemB = document.getElementById(b).value;
            dostuff(elemA);
            dostuff(elemB);
        }
    </script>
    

    【讨论】:

      猜你喜欢
      • 2016-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-25
      相关资源
      最近更新 更多