2011-03-22 125 views
0

我正在嘗試製作一個表單,其中會有一個按鈕,點擊它時將調用Javascript函數,並添加一個帶有文本框的新行。簡單地說,當點擊按鈕時,新的文本將被添加。這裏是功能:在一個新的文本框中設置默認值

function addRowToTable() 

    { 
     var tbl = document.getElementById('tblSample'); 
     var lastRow = tbl.rows.length; 
     // if there's no header row in the table, then iteration = lastRow + 1 
     var iteration = lastRow; 
     var row = tbl.insertRow(lastRow); 

     // left cell 
     var cellLeft = row.insertCell(0); 
     var textNode = document.createTextNode(iteration); 
     cellLeft.appendChild(textNode); 

     // right cell 
     var cellRight = row.insertCell(1); 
     var el = document.createElement('input'); 
     el.type = 'text'; 
     el.name = 'txtRow' + iteration; 
     el.id = 'txtRow' + iteration; 
     el.size = 40; 

     cellRight.appendChild(el); 

     // select cell 
     var cellRightSel = row.insertCell(2); 
     var sel = document.createElement('select'); 
     sel.name = 'selRow' + iteration; 
     sel.options[0] = new Option('text zero', 'value0'); 
     sel.options[1] = new Option('text one', 'value1'); 
     cellRightSel.appendChild(sel); 
    } 

現在請指導我:如何設置文本框的默認值和下拉框?我的意思是在這段代碼中,我應該在哪裏放<?php echo $data['pno'];?>

我已經試過把HTML表單;對於第一行它可以工作,但對於第二行它不起作用。謝謝。

+0

是jQuery的一個選擇嗎? – 2011-03-22 21:55:09

+0

那麼在通過ajax調用創建文本框時,它將從PHP腳本中獲取值? – 2011-03-22 21:57:05

+0

是的,但然後plz讓我知道是否有完整的例子,因爲我dnt有很多想法abt jquery。 – umar 2011-03-22 22:01:12

回答

2

我已經用這種方法解決了

<input type="button" value="Add" onClick="addRowToTable(<?php echo $data['pno'];?>);" /> 

,並在JavaScript端

function addRowToTable(a) 
{ 
    var tbl = document.getElementById('tblSample'); 
    var lastRow = tbl.rows.length; 
    // if there's no header row in the table, then iteration = lastRow + 1 
    var iteration = lastRow; 
    var row = tbl.insertRow(lastRow); 

    // left cell 
    var cellLeft = row.insertCell(0); 
    var textNode = document.createTextNode(iteration); 
    cellLeft.appendChild(textNode); 

    // right cell 
    var cellRight = row.insertCell(1); 
    var el = document.createElement('input'); 

    el.type = 'text'; 
    el.value=a; // here i have achived the value 
    el.name = 'txtRow' + iteration; 
    el.id = 'txtRow' + iteration; 
    el.size = 40; 


} 

可能是它不是一個很好的解決方案,但對我的情況下,它的工作原理

0

你怎麼樣保存在你的HTML就像在一個單獨的JS變量的默認值:

var defaultValue = "<?php echo $data['pno'];?>"; 

或者試試這個:

var defaultValue = "<?= $data['pno'] ?>"; 

然後,當你添加新的input你可以用它像這樣:

el.value = defaultValue; 
+0

我想做的確切,但它的工作,可能是php是服務器端 – umar 2011-03-22 23:03:28

+0

我添加了其他東西,你看到日誌中的任何錯誤?或警告? – moe 2011-03-22 23:08:33

+0

是的,我把相同的代碼,但沒有希望 – umar 2011-03-22 23:11:40