2009-08-14 12 views
5

Nie jestem wielkim programistą internetowym, ale tworzę prostą aplikację internetową, która ma postać, w której użytkownik może wprowadzić serię punktów (x, y, z), ale nie wiem, ile użytkownik wejdzie. Nie chcę zgadywać prawdopodobnego maksimum (100 może?) I umieścić 100 pól na formularzu, ponieważ wyglądałoby to brzydko. Jaki jest najłatwiejszy sposób dodawania kolejnych pól (lub odkrywania pól), gdy użytkownik wprowadza dane bez kontaktu z serwerem.Jak mogę dynamicznie dodawać pola wejściowe do formularza?

Obecnie używam html & php, ale zakładam, że będę potrzebować javascript?

Obecnie mój kod wygląda tak, ponieważ użytkownik wprowadza dane, chcę wyświetlić kolejny wiersz.

<form action="edit.php" method="post"> 
    <table border=1> 
    <tr> 
     <td> 
     <td>X 
     <td>Y 
     <td>Z 
    </tr> 
    <tr> 
     <td>1</td> 
     <td><input type=text name=x1 size=10 value="0.4318"></td> 
     <td><input type=text name=y1 size=10 value="0.0000"></td> 
     <td><input type=text name=z1 size=10 value="0.1842"></td> 
    </tr> 
    <tr> 
     <td>2</td> 
     <td><input type=text name=x2 size=10 value="0.4318"></td> 
     <td><input type=text name=y2 size=10 value="0.0000"></td> 
     <td><input type=text name=z2 size=10 value="-0.1842"></td> 
    </tr> 
    <tr> 
     <td>3</td> 
     <td><input type=text name=x3 size=10 value="-0.3556"></td> 
     <td><input type=text name=y3 size=10 value="0.0000"></td> 
     <td><input type=text name=z3 size=10 value="0.1636"></td> 
    </tr> 
    ... I want more to appear here... 
    </table> 
    <button name="submit" value="submit" type="submit">Save</button> 
</form> 

Każdy pomysł w najprostszy sposób? Dzięki ...

Odpowiedz

7

chciałbym użyć jQuery i append nowe wejścia.

+0

Działa wspaniale, dzięki. –

0

Co to znaczy, że piszesz ręcznie znaczniki wejściowe? A może chcesz dynamicznej akcji, w której użytkownik klika przycisk i dodaje więcej wierszy tabeli?

W anycase, dla twojego kodu, potrzebujesz tylko pętli, jak to. Zakładam, $ dane jest cokolwiek dane chcesz ustawić na podstawie tablicy, który jest prawdopodobnie z bazy danych lub coś:

<?php 
for($i=0, $iMaxSize=count($data); $i<$iMaxSize; $i++) 
{ 
?> 
<tr> 
    <td><?= $i+1 ?></td> 
    <td><input type=text name=x1 size=10 value="<?=$data[$i]['something']"></td> 
    <td><input type=text name=y1 size=10 value="<?=$data[$i]['somethingelse']"></td> 
    <td><input type=text name=z1 size=10 value="<?=$data[$i]['somethingelseagain']"></td> 
</tr> 
<?php 
} // end for 
?> 

Oczywiście nie można kopiować i przeszłość wyżej, ale to dobry punkt wyjścia.

Do dynamicznego robienia tego nie można użyć php. To, co brzmi, jak chcesz użyć, to połączenie javascript ajax i php.

+0

Chcę to zrobić dynamicznie. –

0

Dołącza kod HTML do wszystkich akapitów.

<!DOCTYPE html> 
<html> 
<head> 
    <style> 
    p { background:yellow; } 
</style> 
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
</head> 
<body> 
    <p>I would like to say: </p> 
<script> 
    $("p").append("<strong>Hello</`enter code here`strong>"); 
</script> 

</body> 
</html> 
Powiązane problemy