1

我想要许多不同的按钮(每个都使用 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>
4

2 回答 2

11

如果您尝试使用不同的按钮,每个按钮都向三个字段写入一组不同的值,那么就会出现一些问题。

  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('值写入 1','值写入 2','值写入 3');"
而不是
writeText(this.form)

于 2012-07-16T23:30:16.040 回答
0

以及如何处理——

$('#list_tasks').append('<button class="btn btn-default" onclick="buildMemberPerTask(' + res + ',' + res + ')"; type="submit">' + res.results[i].description + '</button>');
于 2015-06-24T14:20:32.037 回答