使用onClick传递多个变量

时间:2012-07-16 23:11:01

标签: javascript

我想要许多不同的按钮(每个按钮使用PHP编写),使用onClick将3个或更多变量传递给函数,然后将其写入输入字段。

以下是接近,但我不知道如何将多个var数组传递给重写函数。

<HTML>
<HEAD>
<TITLE>Test Input </TITLE>
<SCRIPT LANGUAGE="JavaScript">
function writeText (var1, var2, var3) {
    form.inputbox1.value = var1
    form.inputbox2.value = var2
    form.inputbox3.value = var3
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="myform" ACTION="" METHOD="GET">
Enter something in the box: <BR>
<INPUT TYPE="button" NAME="button2" Value="Write" onClick="writeText(this.form)"><br>

  <input type="text" name="inputbox2"><br>
  <input type="text" name="inputbox3"><br>
  <input type="text" name="inputbox4">

</FORM>
</BODY>
</HTML>

2 个答案:

答案 0 :(得分:8)

如果你要做的是有不同的按钮,每个按钮都会为这三个字段写一组不同的值,那么就有几个问题。

  1. 在writeText函数中,您没有指定应该写入哪个表单(除非'form'变量包含表单,即。)
  2. 您传递给writeText函数的参数实际上并不是您编写的writeText函数。


首先,使用writeText函数将三个值写入字段,就像你编写它一样,你的按钮HTML应该符合以下几行:

<INPUT TYPE="button" NAME="button2" Value="Write" onClick="writeText('value1','value2','value3')">

此外,您需要更改“writeText”函数中的代码以指向所需的字段。执行此操作的一种方法是向要写入的字段添加ID,然后添加getElementById,例如:将您的字段更改为

<input type="text" name="inputbox1" id="inputbox1">

然后在javascript中使用:

var inputbox1 = document.getElementById('inputbox1');
if (inputbox1) { inputbox1.value = var1 }

具体来说,要将onClick中的三个值传递给writeText函数,您需要使用

onClick="writeText('value to write 1','value to write 2', 'value to write 3');"
而不是
writeText(this.form)

答案 1 :(得分:0)

如何处理 -

$('#list_tasks').append('<button class="btn btn-default" onclick="buildMemberPerTask(' + res + ',' + res + ')"; type="submit">' + res.results[i].description + '</button>');