Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    Problema aggiunta campi form

    Salve a tutti,
    io ho questo codice posto nell'head:
    codice:
    <script type="text/javascript">
    function addfield() {
      document.forms[0].innerHTML = '<input type="text" name="search[]" />
    '+document.forms[0].innerHTML;
    }
    </script>
    E questo codice a fianco di un campo del form:
    codice:
    <input type="button" onclick="addfield();" value="Aggiungi" />
    Tuttavia quando clicco sul pulsante mi viene creato un campo "sopra" tutti i campi del form e non sotto come vorrei, come devo fare per far comparire il nuovo campo sotto al pulsante?

    Ed inoltre, dovrei applicare uno script di autocompletamento alla input text aggiunta. Al momento ho:
    codice:
    <script type="text/javascript">   
    new Ajax.Autocompleter("search","hint","dati_autocompletamento.php");
    </script>
    è possibile integrarlo ai campi creati?

    Grazie,
    Stefano.

  2. #2

    Re

    E' molto semplice, devi invertire l'ordine dei fattori della somma, cioè:
    document.forms[0].innerHTML = document.forms[0].innerHTML+'<input type="text" name="search[]" />
    ';
    Webmaster sitoesitiweb.it

  3. #3
    grazie della risposta.

    io però vorrei che il nuovo campo venisse creato appena sotto al pulsante che però non è in fondo al form, ma nel mezzo. (probabilmente mi sono espresso male prima)

    suggerimenti su come integrare l'autocompletamento?

  4. #4

    Re

    Puoi usare innerHTML con altri oggetti dell'HTML ad esempio <div> e persino ai <td> quindi non ti devi per forza inchiodare su document.forms[0].innerHTML, senza poter dare soluzione al tuo problema, se vuoi avere il tuo nuovo contenuto "prima di" e "dopo di" allora basta che ci metti in mezzo un oggetto html... ad esempio un <div>:
    <form id="form1" name="form1" method="post" action="">
    nome: <input type="text" name="nome" id="nome" />


    <div id="newText"></div>
    <input type="submit" name="button" id="button" value="Submit" />
    </form>

    <script type="text/javascript">
    document.getElementById("newText").innerHTML = 'cognome: <input type="text" name="cognome" id="cognome" />

    ' ;
    </script>
    Webmaster sitoesitiweb.it

  5. #5
    grazie ancora per la risposta.

    Ho inserito:
    codice:
    <tr><td id="nuovo_campo"></td></tr>
    e:
    codice:
    <script type="text/javascript">
    function addfield() {
    document.getElementById("nuovo_campo").innerHTML = 'Altro articolo: <input type="text" name="search[]" />
    ' ;
    }
    </script>
    L'unica cosa è che dopo il primo click sul pulsante che richiama la funzione addfield e la generazione di un primo campo, se provo ad aggiungere altri campi non succede niente...

  6. #6

    Re

    Certo, devi sommare quello che vuoi a quello che già c'è:
    document.getElementById("nuovo_campo").innerHTML = document.getElementById("nuovo_campo").innerHTML + 'Altro articolo: <input type="text" name="search[]" />
    ' ;
    A dire la verità non voglio sembrare interessato, ma se davvero mi vuoi ringraziare fammi gentilmente una critica del mio sito e così contribuisci a migliorarlo.
    Webmaster sitoesitiweb.it

  7. #7
    Ok, ora è davvero perfetto.

    Mi sai dare una mano per integrare anche l'autocompletamento?

    Ti riporto come si presenta per "autocompletare" la input:
    codice:
    <script type="text/javascript">   
    new Ajax.Autocompleter("search","hint","dati_autocompletamento.php");
    </script>
    dove search è l'id dell'input, hint è l'id di un div (es.: <div id="hint"></div>) e dati_autocompletamento.php è il "motore" dell'autocompletamento.

    EDIT: è possibile fare in modo che vengano creati gli input con id progressivo?? (es. id="search[1]" poi id="search[2]" ecc ecc)

    Per il tuo sito ti mando un MP

  8. #8

    Re

    Quando dici "integrare anche l'autocompletamento" ti riferisci a come chiamarlo? in quale momento? ad esempio ogni volta che si scrive un carettere su quell'input?

    Su come numerare i nuovi imput creati la cosa è semplice, devi preimpostare una variabile, ti raccomanderei di preimpostarla nel head, poi usi questa variabile e la fai incrementare, ad esempio:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    <script type="text/javascript">var numText = 0 ;</script>
    </head>

    <body>
    <form id="form1" name="form1" method="post" action="">
    nome: <input type="text" name="nome" id="nome" />
    <input type="button" name="button2" id="button2" value="Inserisci Nuovo" onclick="createNew()" />


    <div id="newText"></div>
    <input type="submit" name="button" id="button" value="Submit" />
    </form>
    <script type="text/javascript">
    function createNew()
    {
    var newImput = document.getElementById("newText") ;
    newImput.innerHTML = newImput.innerHTML + 'newText'+numText+': <input type="text" name="newText'+numText+'" id="newText'+numText+'" />

    ' ;
    numText++
    }
    </script>
    </body>
    </html>
    Webmaster sitoesitiweb.it

  9. #9

    Re: Re

    Originariamente inviato da roilld
    Quando dici "integrare anche l'autocompletamento" ti riferisci a come chiamarlo? in quale momento? ad esempio ogni volta che si scrive un carettere su quell'input?
    Io ho lo script di autocompletamento che ho citato sopra, vorrei fosse applicato anche alle imput che aggiungo se possibile.

    Quello script funziona in modo che dalla prima lettera digitata nella input lui va a pescare i valori che potrebbero corrispondere nel database e me li mostra in una lista a cascata...

    Tornando all'aggiunta del pulsante. Devo trasformare questo codice in modo da accodarlo al <input.....> nel javascript che mi hai suggerito tu:
    codice:
    <a onclick="window.open('ordine_articolo.php?articolo='+document.getElementById('search[QUA ANDREBBE IL NUMTEXT]').value,'popup', 'width=400,height=250,scrollbars=no')">Quantità</a>
    Scusami ma sono un completo ignorante in materia di JS.

  10. #10

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.