JavaScript - 尝试通过单击按钮为文本字段添加值

时间:2015-10-02 16:06:11

标签: javascript html

无法使用我的功能,并在用户点击时将按钮的值添加到文本字段中。

HTML

<form name="testing" action="test.php" method="get">Chords:
<textarea name="field"></textarea>
<input type="button" value="G" onClick="addToField('G');">
<input type="button" value="C" onClick="addToField('C');">
<input type="button" value="Am" onClick="addToField('Am');">
<input type="button" value="F" onClick="addToField('F');">

的JavaScript

<script language="javascript" type="text/javascript">
    function addToField(crd){
        document.testing.field.value += crd;
    }
</script>

真的试图理解这里的错误。

希望这能说明我想要实现的目标:https://jsfiddle.net/034hyjo2/6/

3 个答案:

答案 0 :(得分:2)

您正在错误地访问该对象

<script language="javascript" type="text/javascript">
    function addToField(crd){
        document.getElementByName("testing").value += crd;
    }
</script>

或者,给元素一个ID并使用getElementByID(“testing”)。value。 我通常发现无论如何都会更好......

答案 1 :(得分:2)

如果您只是将其放入小提琴中,则可以将脚本标记放在HTML上方:

<script>
    var addToField = function(c) {
        document.testing.field.value += c;
    };
</script>
<form name="testing" action="test.php" method="get">Chords:
    <textarea name="field"> </textarea>
    <input type="button" value="G" onClick="addToField('G');">
    <input type="button" value="C" onClick="addToField('C');">
    <input type="button" value="Am" onClick="addToField('Am');">
    <input type="button" value="F" onClick="addToField('F');">
</form>

答案 2 :(得分:0)

你的JSFiddle是错误的。你这里的问题更好。您希望使用document.getElementById('field').value += crd;代替document.testing.field.value += crd;

试试这个:

<form name="testing" action="test.php" method="get">Chords:
    <textarea id="field" name="field"> </textarea> ---note the addition of the ID parameter
    <input type="button" value="G" onClick="AddToField('G');">
    <input type="button" value="C" onClick="AddToField('C');">
    <input type="button" value="Am" onClick="AddToField('Am');">
    <input type="button" value="F" onClick="AddToField('F');">
</form>

<script>
function AddToField(c) {
    document.getElementById('field').value += c;
};
</script>

函数也不应该是camelCase而是Pascal case;)