2013-04-20 75 views
1

说我有3个变量,ID,姓名,编号,在PHP脚本,$名称,$号码,$ ID在PHP中调用JavaScript函数并传递php变量?

在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) 

和修改函数头,而这将字符串“编辑”,但是,这不是非常有用。在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函数。

它不漂亮,但它的工作原理。

+0

您需要了解客户端和服务器端脚本之间的区别 – 2013-04-20 06:54:28

+0

您的窗体标签没有关闭 – user2264587 2013-04-20 06:57:22

+0

我完全理解客户端和服务器端脚本之间的区别,但感谢您的帮助。我希望有人可以向我推荐一种存储通过JavaScript发送的变量的方法。例如,在按钮上设置'id ='$ id''然后发送'this。id'发送php变量'$ id'的值给javascript函数。我希望有人有一个建议,允许我发送所有3. – Dirgon 2013-04-20 06:58:33

回答

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元素的标准属性。

0

我认为这个问题是与你的报价,以便试试这个

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

我应该更多地校对我的问题,但已经晚了。 -_-;问题不在于代码(尽管这是问题,它已经被修复了)。问题在于,你无法按照我键入的方式进行操作。我的意思是它更像一个伪代码。 – Dirgon 2013-04-20 07:09:33

0

您只能发送3值如下: -

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

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