2013-04-20 110 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個值。