Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171

    tabella con un button per ogni riga.

    Creo una tabella cosi:
    button(invia) <td>cognome</td><input type=text value="valore1" name=valore></td>
    button(invia) <td>cognome</td><input type=text value="valore2" name=valore></td>
    button(invia) <td>cognome</td><input type=text value="valore3" name=valore ></td>
    ecc...

    i buon richiamano uno
    <script>
    recupero il valore di valore e richiamo una popup per il salvataggio del record.

    </script>

    il problema è giustamente se clicco dal secono button in poi mi invia sempre il primo valore.
    c'è una soluzione per inviare i valori corrispondenti ad ogni button?

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    devi legare in qualche modo un attributo di button con qualche attributo dell'input text...


    <button id='button_1' onclick='invia(this)'>invia</button><td>cognome</td><input type=text value="valore1" name=valore id='input_1'></td>


    A questo punto nella funzione invia:

    function invia(el){
    id = el.id.split("_");
    id = id[1];
    valore = document.getElementById('input_'+id).value;
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    la tabella la creo tramite un recordset,
    per esempio i due campi che prelevo dal recordset sono rs("cognome") e rs("valore")
    come posso modificare sotto???
    <button id='button_1' onclick='invia(this)'>invia</button><td>cognome</td><input type=text value="valore1" name=valore id='input_1'></td>


    A questo punto nella funzione invia:

    function invia(el){
    id = el.id.split("_");
    id = id[1];
    valore = document.getElementById('input_'+id).value;
    }

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    spiega meglio com'è la pagina html generata e cosa devi farci di preciso, il come e da cosa lo ottieni non è rilevante

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    in pratica ho una tabella con dei dati prelavati da un database.
    tabella è cosi composta:
    codice cognome valore
    1 pippo 5 button1
    2 caio 6 button2

    dal button1 devo inviare ad una popup i valori (1-pippo-5)

    dal button2 devo inviare ad una popup i valori (2-caio-6)

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    allora andava bene il primo script.

    Per fare funzionare il primo script ho adattato la parte html, aggiungendo l'attributo id, cosa che andrebbe fatta sempre. L'assegnazione dell'id è stata fatta proprio per soddisfare la tua esigenza, che al click di un button su una riga venisse preso il dato della stessa riga riga, se aumentano i dati alla riga cambia poco ad ogni elemento della riga i-esima aggiungi all'id il suffisso _i, e provvedi anche a dare lo stesso prefisso agli id per colonna (magari l'intestazione della colonna stessa).

    Es.

    Parte html con le opportune modifiche, almeno spero che sia così visto che non vuoi fornire la parte html generata
    codice:
    <tr>
        <td><input type='text' id='codice_1' value='1' /></td>
        <td><input type='text' id='cognome_1' value='pippo' /></td>
        <td><input type='text' id='valore_1' value='5' /></td>
        <td><button id='button1' onclick ='invia(this)'>Invia</button></td>
    </tr>

    Parte javascript
    codice:
    function invia(el){
        id = el.id.split("_");
        id = id[1];
        codice = document.getElementById(codice_'+id).value;
        cognome = document.getElementById('cognome_'+id).value;
        valore = document.getElementById('valore_'+id).value;
    }

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171

    <tr>
    <td><input type='text' id='codice_1' value='1' /></td>
    <td><input type='text' id='cognome_1' value='pippo' /></td>
    <td><input type='text' id='valore_1' value='5' /></td>
    <td><button id='button1' onclick ='invia(this)'>Invia</button></td>
    </tr>

    come faccio ad incrementare _1 in automatico in base al numero dei record?
    id='codice_1'

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    a quanto ho capito generi la tabella a partire da un recordset, posta come fai e cercherò di aiutarti.

    in realtà non conta il numero di riga, basta utilizzare un dato a tua disposizione che sia univoco per tutte le righe, al posto di mettere dopo '_' il numero di riga potresti utilizzare il valore di codice.

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    io ho un recordset con questi campi
    codice_dip
    valore

    per cui il i campi sono Rs("codice_dip") - rs("valore")

    per cui come faccio=
    <input type=text valore=<%=rs("codice_dip")%> name=codice_dip >
    <input type=text valore=<%=rs("valore")%> name=<%=rs("valore")%>

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    non conosco asp, tuttavia penso che questo recordset sia una spece di collection o array associativo, e che pertanto devi scorrere con un ciclo per visualizzarne tutti i risultati, se così non fosse, non so come aiutarti, se come dico io, per visualizzare tutti gli elementi del recordset usi un ciclo, ti ripeto la solita domanda... facci vedere come generi gli input(ciclo compreso).

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.