Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    312

    creare una form dinamica

    ciao a tutti,

    vorrei creare dei campi all'interno di una form in maniera dinamica.

    Partendo da questo codice html:

    <form action="step5.asp" method="post" name="form_dati">

    <table border="0" width="100%" height="69">
    <tr>
    <td width="5%" height="16">
    input type="text" name="anno" size="4"></td>
    <td width="6%" height="16">
    <input type="text" name="scuola" size="15"></td>
    <td width="9%" height="16">
    <input type="text" name="corso_freq" size="15"></td>
    <td width="11%" height="16">
    <input type="text" name="durata" size="4"></td>
    <td width="8%" height="16">
    <input type="text" name="barche" size="10"></td>
    <td width="9%" height="16" align="center">
    <input type="text" name="risultato" size="4"></td>
    </tr>
    </table>

    <input type="submit" value="Conferma">


    nel momento in cui clicco sul tasto "conferma" vorrei che si ricaricasse la medesima pagina e che venga aggiunta una riga alla tabella già presente contenente gli stessi campi (input type = text)


    è possibile fare tutto ciò????è sufficente il javascript??

  2. #2
    Utente di HTML.it L'avatar di hcka
    Registrato dal
    Oct 2002
    Messaggi
    435
    Non conosco bene il js, ma penso che dovrebbe bastarti scrivere una funzione che scriva la pagina con il form che ti occorre.. quindi associarla all'onclick del bottone.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    312
    ciao,


    ho provato con una funzione di questo tipo:

    <script language = "Javascript">

    function creaRiga(){

    w=("<tr>");
    w.document.write("<td width=5% height=16><p align=center><input type=text name=anno1 size=4></td>");
    w.document.write("<td width=6% height=16><input type=text name=scuola1 size=15></td>");
    w.document.write("<td width=9% height=16><input type=text name=corso_freq1 size=15></td>");
    w.document.write("<td width=11% height=16><p align=center><input type=text name=durata1 size=4></td>");
    w.document.write("<td width=8% height=16><input type=text name=barche1 size=10></td>");
    w.document.write("<td width=9% height=16 align=center><input type=text name=risultato1 size=4></td>");
    w.document.write("</tr>");


    }

    </script>




    <form action="step5.asp" method="post" name="form_dati">

    <table border="0" width="100%" height="69">
    <tr>
    <td width="5%" height="16">
    input type="text" name="anno" size="4"></td>
    <td width="6%" height="16">
    <input type="text" name="scuola" size="15"></td>
    <td width="9%" height="16">
    <input type="text" name="corso_freq" size="15"></td>
    <td width="11%" height="16">
    <input type="text" name="durata" size="4"></td>
    <td width="8%" height="16">
    <input type="text" name="barche" size="10"></td>
    <td width="9%" height="16" align="center">
    <input type="text" name="risultato" size="4"></td>
    </tr>


    <script language="JavaScript">
    creaRiga();
    </script>

    </table>

    <input type="submit" value="Conferma">



    solo che ho un errore nella seconda riga della funzione creaRiga():

    "w.document.write è nullo o non è un oggetto"


    aiuto!!!!!

  4. #4
    Utente di HTML.it L'avatar di hcka
    Registrato dal
    Oct 2002
    Messaggi
    435
    Infatti devi creare un nuovo documento dinamicamente che scriva al suo interno TUTTO il form.. (se vuoi posso indirizzarti)..
    Oppure crei sempre un nuovo documento dinamicamente che copi il form di partenza, quindi intercetti prima del bottone ed inserisci il nuovo campo.. (e non so come aiutarti)..
    PS: Devi dichiarare l'oggetto prima di scriverci dentro..

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    312
    e come potrei fare per creare un nuovo documento dinamicamente che scriva al suo interno TUTTO il form??????


    esiste per caso qualche comando che intercetta tutto o parte dell'html della pagina???

  6. #6
    Utente di HTML.it L'avatar di hcka
    Registrato dal
    Oct 2002
    Messaggi
    435
    codice:
    function popup() {
      var np=window.open('','newpage','top=100, left=100, width=500, height=300');
      np.document.open("text/html");
      np.document.writeln('<html>');
      np.document.writeln('<head>');
      np.document.writeln('<title>printf("#\\t"+("iNAG");</title>');
      np.document.writeln('</head>');
      np.document.writeln('<body>')
      np.document.writeln('<form action="step5.asp" method="post" name="form_dati">');
      np.document.writeln('<table border="0" width="100%" height="69"> ');
      np.document.writeln('<tr>');
      np.document.writeln('<td width="5%" height="16">');
      np.document.writeln('<input type="text" name="anno" size="4"></td>');
      np.document.writeln('<td width="6%" height="16">');
      np.document.writeln('<input type="text" name="scuola" size="15"></td>');
      np.document.writeln('<input type="text" name="scuola" size="15"></td>');
      np.document.writeln('<td width="9%" height="16">');
      np.document.writeln('<input type="text" name="corso_freq" size="15"></td>');
      np.document.writeln('<td width="11%" height="16">');
      np.document.writeln('<input type="text" name="durata" size="4"></td>');
      np.document.writeln('<td width="8%" height="16">');
      np.document.writeln('<input type="text" name="barche" size="10"></td>');
      np.document.writeln('<td width="9%" height="16" align="center">');
      np.document.writeln('<input type="text" name="risultato" size="4"></td>');
      np.document.writeln('</tr>');
      np.document.writeln('</table>');
      np.document.writeln('<input type="submit" value="Conferma">');
      np.document.writeln('</form>');
      np.document.writeln('</body>');
      np.document.writeln('</html>');
      np.focus();
    }
    Questa funzione quando richiamata apre una pop-up con all'interno il tuo form..
    Ti basta inserire tutti i "np.document.writeln('');" che ti servono..

    Per copiare il sorgente della pagina dovrebbe essere qualcosa del tipo ".outerHTML"..

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    312
    ciao e grazie per l'aiuto!!!!!!!

    il mio problema sta però nel replicare si il codice ma aggiungere una riga HTML a quella già esistente!!!

    es.

    questa è la riga esistente......
    <tr>
    <td width="5%" height="16">
    input type="text" name="anno" size="4"></td>
    <td width="6%" height="16">
    <input type="text" name="scuola" size="15"></td>
    <td width="9%" height="16">
    <input type="text" name="corso_freq" size="15"></td>
    <td width="11%" height="16">
    <input type="text" name="durata" size="4"></td>
    <td width="8%" height="16">
    <input type="text" name="barche" size="10"></td>
    <td width="9%" height="16" align="center">
    <input type="text" name="risultato" size="4"></td>
    </tr>

    quando clicco su conferma, dovrà scrivermi:



    <tr>
    <td width="5%" height="16">
    input type="text" name="anno" size="4"></td>
    <td width="6%" height="16">
    <input type="text" name="scuola" size="15"></td>
    <td width="9%" height="16">
    <input type="text" name="corso_freq" size="15"></td>
    <td width="11%" height="16">
    <input type="text" name="durata" size="4"></td>
    <td width="8%" height="16">
    <input type="text" name="barche" size="10"></td>
    <td width="9%" height="16" align="center">
    <input type="text" name="risultato" size="4"></td>
    </tr>

    + la stessa riga duplicata!!!!!!!!!!!!
    <tr>
    <td width="5%" height="16">
    input type="text" name="anno" size="4"></td>
    <td width="6%" height="16">
    <input type="text" name="scuola" size="15"></td>
    <td width="9%" height="16">
    <input type="text" name="corso_freq" size="15"></td>
    <td width="11%" height="16">
    <input type="text" name="durata" size="4"></td>
    <td width="8%" height="16">
    <input type="text" name="barche1" size="10"></td>
    <td width="9%" height="16" align="center">
    <input type="text" name="risultato" size="4"></td>
    </tr>


    e cosi' avro' tante righe della tabella quanti submit effettuerò!!!


    un'altra cosa: come posso fare per non fare apparire tutto in una popup ma nella pagina stessa????

    ciao e grazie di nuovo :tongue:

  8. #8
    Utente di HTML.it L'avatar di hcka
    Registrato dal
    Oct 2002
    Messaggi
    435
    Non ti so dire come utilizzare la stessa pagina.. forse con un 'associazione della pagina corrente a np.. quindi ci scrive dentro..
    codice:
    window.name=np;
    anzichè
    codice:
    var np=window.open('[...]');
    -Credo-.

    Per l'aggiunta nella stessa pagina non ti so dire.. devi intercettare il code ed implementarlo..

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    312
    tutto ok, ma la riga non viene aggiunta alla mia form!!!!!cioè viene ricaricata l'intera pagina ma con una riga sola all'interno della tabella:


    <tr>
    <td width="5%" height="16">
    input type="text" name="anno" size="4"></td>
    <td width="6%" height="16">
    <input type="text" name="scuola" size="15"></td>
    <td width="9%" height="16">
    <input type="text" name="corso_freq" size="15"></td>
    <td width="11%" height="16">
    <input type="text" name="durata" size="4"></td>
    <td width="8%" height="16">
    <input type="text" name="barche" size="10"></td>
    <td width="9%" height="16" align="center">
    <input type="text" name="risultato" size="4"></td>
    </tr>

  10. #10
    Utente di HTML.it L'avatar di hcka
    Registrato dal
    Oct 2002
    Messaggi
    435
    Prova ad inserire la riga che va visualizzata in una variabile. Quindi fai writtare due volte il tutto..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.