假设我在php脚本上有3个变量,id,name,number,$ 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文件的第2行的html上出现错误,这是关于意外的错误。
编辑:我应该澄清我说代码给了我错误,所以有人不只是说“好用这个!”当我已经预料到它不起作用时。
使用此:
<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函数。
它不漂亮,但它有效。
答案 0 :(得分: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元素的标准属性。
答案 1 :(得分:0)
我认为问题出在你的报价上,所以试试这个
print '<td><form><input type="button" name="edit" id="edit" onclick=ed('.$name.','.$number.','.$id.') value="Edit" /></td>'
答案 2 :(得分:0)
您只能发送3个这样的值: -
onclick="javascript:func_name('<?php echo $var1 . "," . $var2 . "," . $var3;?>');
在js函数中只接受一个参数,然后使用“,”作为分隔符拆分3个值。