Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    12

    Problema autocompletamento dei campi

    Salve a tutti,
    ho un problema: non riesco a collegare l'autocompletamento (ricerca automatica, tramite info salvate su un Database) all'aggiunta dei campi in maniera dinamica:

    Vi posto il mio codice:

    <html>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <head>
    <script src="ajax/prototype.js" type="text/javascript"></script>
    <script src="ajax/effects.js" type="text/javascript"></script>
    <script src="ajax/controls.js" type="text/javascript"></script>
    <title>Dettagli Attivit&agrave;</title>
    <style type="text/css">
    input{
    font-family:Verdana;
    font-size:14px;
    width:200px;
    }
    div.campo{
    font-family:Verdana;
    font-size:14px;
    }
    div.boxsuggerimenti {
    font-family:Verdana;
    font-size:14px;
    position:absolute;
    background-color:white;
    border:1px solid #888;
    margin:0px;
    padding:0px;
    }
    div.boxsuggerimenti ul {
    list-style-type:none;
    margin:0px;
    padding:0px;
    }
    div.boxsuggerimenti ul li.selected { background-color: #FF7F50;}


    div.boxsuggerimenti ul li {
    list-style-type:none;
    display:block;
    margin:0;
    padding:1px;
    cursorointer;

    border-bottom:1px solid #888;
    }
    </style>
    <?php
    header('Content-Type: text/html; charset=UTF-8');
    ?>
    <script type="text/javascript">
    // Funzione che permette di aggiungere elementi al form
    function AggiungiRiga(n_righe){
    var numero_righe = n_righe.value;
    var box = document.getElementById('box_righe');
    if(isNaN(numero_righe)==true){
    box.innerHTML='';
    }else{
    var righe = "";
    // Inserisco una riga ad ogni ciclo
    for(i=1; i<=numero_righe; i++){
    righe = righe+""+i+") Materiale : <input type='text' id='squadra"+i+" name='squadra"+i+" size='10'/><div id='suggerimenti_squadra' class='boxsuggerimenti'></div><script type='text/javascript'>new Ajax.Autocompleter('squadra"+i+", 'suggerimenti_squadra', 'cercamateriali.php', {minChars: 1})<;/script>
    ";

    }

    // Aggiorno il contenuto del box che conterr? gli elementi aggiunti
    box.innerHTML=righe;
    }
    }
    </script>
    </head>
    <body>
    <h2>Prova Caricamento Campi Automatici</h2>
    <form method="post" action="ciao.php" name="form1">
    <table border="0">
    <tr><td>Quanti materiali vuoi aggiungere? </td><td><input type="text" name="righe" maxlength="2" onkeyup="AggiungiRiga(this)"/></td></tr>
    </table>
    <span id='box_righe'>

    </span>



    <input name='invia' type='submit' style='width:100px; height:40px;' value='Send' />
    </form>


    </body>
    </html>


    Molto probabilmente il probema è in questa parte:

    righe = righe+""+i+") Materiale : <input type='text' id='squadra"+i+" name='squadra"+i+" size='10'/><div id='suggerimenti_squadra' class='boxsuggerimenti'></div><script type='text/javascript'>new Ajax.Autocompleter('squadra"+i+", 'suggerimenti_squadra', 'cercamateriali.php', {minChars: 1})<;/script>
    ";


    infatti se lo lascio così:

    righe = righe+""+i+") Materiale : <input type='text' id='squadra"+i+" name='squadra"+i+" size='10'/>";

    Funziona.

    Ringrazio chiunque mi dirà dove sbaglio e mi darà maggiori delucidazioni?
    Grazie mille

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    prova cosi
    Ajax.Autocompleter('squadra"+i+"', 'suggerimenti_squadra', 'cercamateriali.php', {minChars: 1})
    o cosi
    Ajax.Autocompleter('squadra'+i, 'suggerimenti_squadra', 'cercamateriali.php', {minChars: 1})
    quando posti usa il tasto [ code ]....[/ code ]
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    12
    Ciao, grazie mille per la risposta!

    In questo modo:

    codice:
    for(i=1; i<=numero_righe; i++){                        
    righe = righe+""+i+") Materiale : <input type='text' id='squadra"+i+" name='squadra"+i+" size='10'/><div id='suggerimenti_squadra' class='boxsuggerimenti'></div><script type='text/javascript'>new Ajax.Autocompleter('squadra"+i+"', 'suggerimenti_squadra', 'cercamateriali.php', {minChars: 1});
    ";
    mi fa visualizzare un solo campo aggiuntivo, per qualunque numero metto.

    E se alla fine, dopo il
    inserisco </script> mi da errore, di sintassi.

    Cosa può essere??

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Rivedi la logica non poi inserire codice script in un ciclo for js
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    12
    Se tolgo lo script dal ciclo for js, mi fa visualizzare a video:

    Quanti materiali vuoi aggiungere? Ad es: "3"

    1) Materiale :
    new Ajax.Autocompleter('squadra1', 'suggerimenti_squadra', 'cercamateriali.php', {minChars: 1});

    2) Materiale :
    new Ajax.Autocompleter('squadra2', 'suggerimenti_squadra', 'cercamateriali.php', {minChars: 1});

    3) Materiale :
    new Ajax.Autocompleter('squadra3', 'suggerimenti_squadra', 'cercamateriali.php', {minChars: 1});

    Le scritte "new Ajax.Autocompleter ...ecc" non dovrebbero comparire.

    Sai come posso procedere, te ne sarei infinitamente grato!!!

    Purtroppo non mastico bene la programmazione in Javascript.

    Grazie ancora

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non penso che potrai usare Ajax.Autocompleter in questo modo, dovrai generare le righe che avranno una funzione che eseguirà una chiamata ajax per popolare il campo.
    Difficoltà con conoscenze ajax 6/7 senza conoscenze ajax 8/9 (rinuncia sarebbe anche difficile da spiegare)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    12
    Capito, grazie ancora per la dritta.

    Proverò a far una cosa simile in PHP.

    Tutte le idee son ben accette.


    Frimpa

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.