2013-11-24 63 views
0

我有一個問題,我想獲得按下按鈕的值(它會在每次點擊時生成新的輸入字段),並且我不知道我是否能夠做到這一點。

我有這個JS代碼:

<script type=\"text/javascript\"> 
function addInput(divName){ 
      var newdiv = document.createElement('div'); 
      newdiv.innerHTML = \"<select name=idp[]>$options</select>; 
</script> 

與HTML按鈕類型

$t_prod = ""; 
$types = mysqli_query($db, "SELECT id_type, name_type FROM type_prod ORDER BY id_type"); 
while ($t = mysqli_fetch_assoc($types)) { 
    $t_prod .= "<button type='button' name='typ' value='".$t['id_type']."' onclick=\"addInput('dynamicInput');\">ADD ".$t['name_type']." </button>";    
} 

這個PHP代碼和PHP代碼生成我的四個按鈕,我想知道哪個按鈕被按下(最好是通過ID_TYPE) - 所以每個「特殊」產生的內容按鈕將被生成。但我無法獲得該值..我正在考慮取得($ _POST ['typ']),並根據按下的按鈕數調用函數addInput。

+0

給每個按鈕一個不同的'name ='。 – ceejayoz

+0

@ceejayoz:好的,但我怎麼讀?當我同時使用onClick函數和isset($ _ POST ['typ'])時,應用程序「崩潰」,因爲它不知道要通過onClick還是通過isset($ _ POST ['typ']): (當它進入JS功能,我認爲,($ _POST從它 - 如果它甚至被髮送)丟失.. – user3019672

回答

0

我相信它可以解決客戶端,只需使用this指針:

<button ... value="btn1" onclick="addInput(this)"> 
<button ... value="btn2" onclick="addInput(this)"> 

那麼你就可以在你的處理器訪問它,即:

function addInput(obj) { 
    if(obj.value=="btn1") // generate your innerHTML for the first button clicked 
} 

obj是這是該元素點擊

+0

哎呀,我被downvoted:是有幫助的還是我錯過了這一點? –

相關問題