2009-08-14 13 views
5

Non sono molto un programmatore web, ma sto creando una semplice app web che ha una forma in cui l'utente può inserire una serie di punti (x, y, z) ma non so quanti l'utente sta per entrare. Non voglio indovinare il probabile massimo (100 forse?) E mettere 100 campi sul modulo perché sarebbe brutto. Qual è il modo più semplice per aggiungere più campi (o visualizzare i campi) quando l'utente inserisce i dati senza contattare il server.Come posso aggiungere dinamicamente campi di input a un modulo?

Attualmente sto usando solo HTML & php, ma presumo di fare questo ho bisogno di javascript?

Attualmente il mio codice appare come questo, quando l'utente inserisce i dati, voglio che venga visualizzata un'altra riga.

<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> 

Qualche idea nel modo più semplice? Grazie ...

risposta

7

vorrei utilizzare jQuery e append i nuovi ingressi.

+0

Funziona alla grande, grazie. –

0

Quello che stai dicendo è che stai scrivendo a mano i tag di input? O stai dicendo che vuoi un'azione dinamica in cui un utente fa clic su un pulsante e aggiunge più righe di tabella?

In ogni caso, per il tuo codice, hai solo bisogno di un ciclo, ad esempio. Presumo $ dati è qualsiasi dato che si desidera impostare sulla base di una matrice che è probabilmente dal database o qualcosa del genere:

<?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 
?> 

Naturalmente non è possibile copiare e incollare quanto sopra, ma questo è un buon punto di partenza.

Per farlo dinamicamente, non è possibile utilizzare php. Quello che sembra vogliate usare è javascript ajax e la combinazione php.

+0

Voglio farlo in modo dinamico. –

1

Ho creato qualcosa di simile e penso che sarebbe stato d'aiuto. Ho usato jQuery per creare campi di input dinamicamente. Si prega di controllare questo link: Dynamically add form fields

0

Aggiunge un po 'di codice HTML a tutti i paragrafi.

<!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> 
Problemi correlati