2010-12-09 31 views
1

乾草,我有兩個文本框,例如 book_name和作者 和一個將數據保存到數據庫的按鈕。我的問題是可以動態創建文本框,即當用戶點擊添加另一個書籍按鈕時生成兩個文本框,當他點擊保存按鈕保存到數據庫中的兩行(4個texboxes的數據)。 它可能在PHP ...? (在phpmyadmin中)我們可以在單個表中保存多個記錄,只需單擊保存按鈕,任何幫助都將大大增加。如何在php中動態創建文本框

回答

1

不適用於PHP,但使用Javascript。 PHP是一種服務器端語言,所有的代碼在瀏覽器獲得HTML之前就被處理了。

嘗試使用此代碼:

<html> 
<head> 
<title>Dynamic Form</title> 
<script language="javascript"> 
var i = 1; 
function changeIt() 
{ 

my_div.innerHTML = my_div.innerHTML +"<br><input type='text' name='mytext'+ i>" 
i++; 
} 
</script> 
</head> 
<body> 

<form name="form" action="post" method=""> 
<input type="text" name=t1> 
<input type="button" value="test" onClick="changeIt()"> 
<div id="my_div"></div> 

</body> 
0

如果您希望網頁上發生的事情不會發生新的頁面加載,您必須使用JavaScript在瀏覽器中運行。

您創建新文本框的按鈕需要附加到您爲此編寫的JavaScript事件。

你的PHP腳本將進行更新,以尋找這些新的輸入並保存它保存了第一個以同樣的方式。

0

這是可能的,但你需要使用JavaScript。查詢this爲例。

PHP在服務器端運行,您必須在瀏覽器端執行此操作。

0

你可以使用JavaScript來做到這一點。

嘗試下面的代碼:

function addElement() { 
    var ni = document.getElementById('myDiv'); 
    var numi = document.getElementById('theValue'); 
    var num = (document.getElementById('theValue').value -1)+ 2; 
    numi.value = num; 
    var newdiv = document.createElement('div'); 
    var divIdName = 'my'+num+'Div'; 
    newdiv.setAttribute('id',divIdName); 
    newdiv.innerHTML = 'Element Number '+num+' has been added! <a href=\'#\' onclick=\'removeElement('+divIdName+')\'>Remove the div "'+divIdName+'"</a>'; 
    ni.appendChild(newdiv); 
} 

感謝。

+0

感謝您的答覆,但它只是創建一個文本框,我應該怎麼弄在PHP從HTML頁面的崗位價值 – hunter 2010-12-09 11:07:57

+0

嗨,你可以通過使用$ _REQUEST ['field_name']獲得。這個文本框發佈爲array.so,你會得到你的PHP頁面上的文本框數組。 – Chandresh 2010-12-09 11:20:32

+0

我不能得到你的觀點在PHP PHP新手,所以你可以請幫我深入我的意思是你可以給我的例子我怎麼能得到我的問題是我有兩個textfields(書,作者),如果我點擊添加另一本書兩個文本框創建把這些數據放在這些字段中,然後點擊保存按鈕將所有這些數據的這4個字段發佈到php script.but我怎麼能得到這個我有這個問題可以請給我任何例子我會非常感謝給你。 – hunter 2010-12-09 11:29:39

0

ü需要根據添加的文本框中添加號碼使用javascript新的文本框,並建立UR SQL。正如我在我的問題,我需要創建兩個字段,然後把它們保存到數據庫中提到