1

假设我有 3 个变量,id,name,number,在 php 脚本上,$name,$number,$id

在 PHP 上,我创建了一个按钮

    print "<td><form><input type='button' name='edit' id='edit' onclick=ed($name, $number, $id) value='Edit' /></td>";

我希望将这 3 个变量发送到我的 javascript。

如果我使用,函数调用似乎工作得很好

onclick=ed(this.id)

并修改函数头,这会传递字符串“edit”,但这不是很有用。

javascript中的函数头是

function ed(name, number, id) {
//stuff here
}

无论使用这段代码有什么价值,都会让我在 html 上出现错误,在 html 文档的第 2 行出现意外的 }。

编辑:我应该澄清我说代码给了我错误,所以有人不只是说“好用这个!” 当我已经预料到它不起作用时。

使用这个:

<input type='button' id='$id' onclick=ed(this.id) value='Edit' />

允许我将 $id 中的值发送到 javascript 函数,因为它保存在 id 字段中。沿着这些路线的东西是我所希望的,但我无法找到是否有任何方法可以做到这一点。编辑:对于 3 个变量。

再次编辑:

使用:

<form><input type='button' name='$name' id='$id' title='$number' onclick='ed(this.name,this.title,this.id)' value='Edit' /></form>

将所有 3 个 php 变量的值发送到 javascript 函数。

它不漂亮,但它有效。

4

3 回答 3

1

对于自定义属性定义data-attributes,例如Mozilla Dev上所示:

<div id="user" data-id="1234567890" data-user="johndoe" data-date-of-birth>John Doe
</div>

var el = document.querySelector('#user');

// el.id == 'user'
// el.dataset.id === '1234567890'
// el.dataset.user === 'johndoe'
// el.dataset.dateOfBirth === ''

el.dataset.dateOfBirth = '1960-10-03'; // set the DOB.

// 'someDataAttr' in el.dataset === false

el.dataset.someDataAttr = 'mydata';
// 'someDataAttr' in el.dataset === true

在您的情况下,您似乎只需要data-number其他两个是 DOM 元素的标准属性。

于 2013-04-20T07:58:35.813 回答
0

我认为问题出在你的报价上,所以试试这个

    print '<td><form><input type="button" name="edit" id="edit" onclick=ed('.$name.','.$number.','.$id.') value="Edit" /></td>'
于 2013-04-20T07:02:06.373 回答
0

您只能像这样发送 3 个值:-

onclick="javascript:func_name('<?php echo $var1 . "," . $var2 . "," . $var3;?>');

在 js 函数中只取一个参数,然后使用“,”作为分隔符拆分 3 个值。

于 2013-04-20T07:04:25.993 回答