2013-06-20 26 views
1

$ i變量是每個字段,並填充到只是輸入的「inp」框中盒子和sboxes只是選擇框。頁面加載時只有一種形式,並且它具有添加培訓師的所有條件。第一種形式的培訓師姓名爲trainer_name1。如果他們選擇點擊新的按鈕,他們可以填寫另一位教練的信息,「name」的第二個表單的輸入框將只是trainer_name2,而所有其他字段將分別命名爲他們在表單中的內容。由於新的表單內置了下一個連續的數字,可以將字段添加到字段可能命名的末尾。我有一個簡短的html表單,其中允許用戶在頁面上構建相同的表單,最多可以創建十次相同的表單

這裏是我的代碼:

<fieldset><legend>Trainer Request</legend></fieldset> 
<tr><td><input type='button' onClick="if (show_item(1,10, 0)) { this.style.display = 'none'; }" value='New'></td></tr> 
<?php 
$contact_array = array('ACCEPTED TRAINING','DECLINED TRAINING','LEFT MESSAGE FOR TRAINING ACCEPTANCE', 
     'NEED TO CONTACT TO SEE IF INTERESTED', 
     'NEED PAPERWORK/TRAINING', 
     'NEED SIGNED CONTRACT AND PAPERWORK', 
     'NEED TO COMPLETE TRAINING'); 

for ($i = 10; $i > 0; $i=$i-1) 
    { 
    echo "<table id='hidden$i' style='display:none;'><tr>"; 
    echo "<td>Date</td><td>Status</td></tr>"; 
    echo "<tr><td>"; inp("date$i"); echo "</td><td>"; 
    sbox("contact$i", $contact_array, 0, 'wide2'); 
    echo "</td></tr> 

    <tr><td>Facility</td><td>"; 
    inp("facility$i",50); echo "</td></tr>"; 
    echo "<tr><td>Trainer Name</td><td>"; 
    inp("trainer_name$i",35); 
    echo "<tr><td>Distance From</td><td>"; 
    sbox("distance_from$i", array('1','2','5','10','15','20','25','30','40','50','60','70','80','90','100')); 
    echo "</td></tr> 

    <tr><td>Phone</td><td>"; 
    inp("phone$i",13,'phone'); 
    echo "</td><tr><tr><td>Email</td><td>"; 
    inp("email$i",50); 
    echo "</tr><tr><td>Address 1</td><td>"; 
    inp("addr1$i",50); 
    echo "</tr><tr><td>Address 2</td><td>"; 
    inp("addr2$i",10); 
    echo " City "; 
    inp("city$i",20); 
    echo "</td></tr><tr><td>State</td><td>"; 
    inp("state$i",2); 
     echo " Zip "; 
    inp("zip$i",'zip'); 
    echo "</td></tr><tr><td>Notes</td><td>"; 
    tbox("notes$i", 40, 3); 
    echo "</td></tr></table>"; 
    } 
?> 

<script type='text/javascript'> 
show_item(1,10,1); 
</script> 

正如你可以看到到這裏我建立一個鏈接,會說出任何教練名字的鏈接,在這種情況下trainer_name1是蒂姆·傑克遜,所以我我剛剛用他的名字建立了一個超鏈接。

​​

我對如何添加這樣一個動態鏈接到for循環困惑,從而形式建立1 - 10各trainer_name2,trainer_name3,trainer_name4等等等等,將有他們的名字超鏈接。

我在想我爲數字1-10創建一個新的變量,並將它追加到$ _GET [trainer_name $] ..類似的東西?

我希望這是有道理的,任何幫助將不勝感激。

+0

您知道PHP在服務器上運行,並且用戶正在使用瀏覽器,對吧? PHP生成他們將看到的頁面,然後死亡。當數據擊中客戶端的瀏覽器時,沒有PHP,只是簡單的html/css/js。因此,如果您希望用戶添加表單,請在頁面上或源代碼鏈接的JavaScript中編寫該功能 –

回答

0

如果我正確理解您的問題,您正嘗試添加更多內容或替換已使用PHP生成的網頁上的內容。

我想你正在嘗試做的事情可以使用AJAX來實現。 AJAX是一種用於創建動態網頁的技術。 AJAX允許通過在幕後與服務器交換少量數據來異步更新網頁。這意味着可以更新網頁的某些部分,而無需重新加載整個頁面。

在你的情況下,該方法可以在3個步驟來描述:

  • 瀏覽器使得一個新的請求到服務器(使用javascript)
  • 服務器處理該請求併發送一些信息發回瀏覽器
  • 與該信息(再次使用JavaScript)的瀏覽器的交易,然後更新網頁

的部分有一個例子here顯示瞭如何動態更改網頁內容。儘管如果你被允許的話,我會建議你使用一個像jQuery這樣簡化了整個過程的JavaScript框架(谷歌它的下載和如何使用說明)。

您可以閱讀關於在jQuery here中使用AJAX並閱讀以下示例以更好地瞭解如何使用它。

如果您打算嘗試在AJAX中使用AJAX或簡單的AJAX,我建議您在測試頁面上嘗試一下,獲取一個簡單的工作示例,然後添加一些內容並檢查一切是否按預期工作。當測試頁面按預期工作時,將代碼導入到您的頁面。

這是我會怎麼做,可能會有更好的或者更簡單的方式來做到這一點。

相關問題