Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    209

    Replica di campi di input

    Salve

    come posso fare per replicare 10 volte nella struttura e nel contenuto tre campi di input, quando spunto una checkbox?
    Mi spiego meglio; selezionando la checkbox devo copiare per 10 volte - contenuto compreso - 3 campi di input sovrastanti la check.

    Come posso fare?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    209
    Grazie,

    ho girato un pò sul forum e ho realizzato quanto segue:


    <html>
    <head>
    <script type="text/javascript">

    var arrInput = new Array(0);
    var arrInputValue = new Array(0);

    function addInput() {
    arrInput.push(arrInput.length);
    arrInputValue.push("");
    display();
    }

    function display() {
    document.getElementById('parah').innerHTML="";
    for (intI=0;intI<arrInput.length;intI++) {
    document.getElementById('parah').innerHTML+=create Input(arrInput[intI], arrInputValue[intI]);
    }
    }

    function saveValue(intId,strValue) {
    arrInputValue[intId]=strValue;
    }

    function createInput(id,value) {
    return "<input type='text' maxlength='10' size='10' id='test "+ id +"' onChange='javascript:saveValue("+ id +",this.value)' value='" + document.getElementById('mfgdata').value + "' style='font-family:tahoma; font-size:11px; margin-right:3px; margin-left:10px'><input type='text2' maxlength='5' size='5' id='test "+ id +"' onChange='javascript:saveValue("+ id +",this.value)' value='" + document.getElementById('qta').value + "' style='font-family:tahoma; font-size:11px; margin-right:3px'><input type='text3' maxlength='10' size='10' id='test "+ id +"' onChange='javascript:saveValue("+ id +",this.value)' value='"+ value +"' style='font-family:tahoma; font-size:11px; margin-right:3px'>
    ";
    }


    function deleteInput() {
    if (arrInput.length > 0) {
    arrInput.pop();
    arrInputValue.pop();
    }
    display();
    }
    </script>

    </head>
    <link rel="stylesheet" href="../css/base.css">



    Aggiungi input</p>

    <input name="" type="image" src="../immagini/add.jpg" onclick="javascript:addInput()" align="absmiddle" style="margin-left:8px ">
    <input name="" type="image" src="../immagini/del.jpg" onclick="javascript:deleteInput()" align="absmiddle" style="margin-left:8px ">

    <form action="" method="get" name="srv">
    <div style="margin-left:10px ">
    Mfg Data:Quantità:N.Seriale:

    <input type="text" maxlength=10 size=10 style="font-family:tahoma; font-size:11px; margin-right:3px" name="mfgdata" >
    <input type="text" maxlength=5 size=5 style="font-family:tahoma; font-size:11px; margin-right:3px" name="qta">
    <input type="text" maxlength=10 size=10 style="font-family:tahoma; font-size:11px; margin-right:3px" name="numser">
    Sintomo:
    <input type="text" maxlength=8 size=8 style="font-family:tahoma; font-size:11px; margin-right:3px" name="codsin" onblur="this.value=this.value.replace(/^\s*/,'')">
    </div>
    <div id="parah"></div>
    </form>



    E' quasi ok; l'unico problema è che i due tasti input devono stare per forza fuori del form
    altrimenti non funziona.
    Io però devo inserire altri campi di input e mi piacerebbe avere i tasti vicino ai campi input che devo replicare.

    Vi viene in mente qualcosa per superare questo problema?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Non usare type="image" ma immagini normali che link alle funzioni (deleteInput() e addInput())
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    209
    grazie è quasi perfetto!

    Quasi, infatti non ho ancora finito.
    La replica la faccio solo per due dei tre campi, quindi mi rimane il problema di come catturare il valore del terzo campo che viene inserito a mano.
    La funzione SaveValue mi da il valore, ma come lo porto quel valore lato server?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    209
    Nessuno mi può aiutare?

    Sono nei casini ?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    209
    Neanche utilizzando ajax è possibile far transitare dati da javascript ad asp ?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    209
    Ho risolto

    Ho aggiunto un name al terzo campo nella funzione javascript...

    function createInput(id,value) {

    return "<input disabled='disabled' type='text' maxlength='10' size='10' id='test "+ id +"' onChange='javascript:saveValue("+ id +",this.value)' value='" + document.getElementById('mfgdata').value + "' style='font-family:tahoma; font-size:11px; margin-right:3px; margin-left:10px'><input disabled='disabled' type='text2' maxlength='5' size='5' id='test "+ id +"' onChange='javascript:saveValue("+ id +",this.value)' value='" + document.getElementById('qta').value + "' style='font-family:tahoma; font-size:11px; margin-right:3px; margin-left:3px'><input type='text3' maxlength='10' size='10' name='test_"+ id +"' id='test "+ id +"' onChange='javascript:saveValue("+ id +",this.value)' value='"+ value +"' style='font-family:tahoma; font-size:11px; margin-right:3px; margin-left:3px'>
    ";
    }


    ... e ho recuperato i valori in asp nel seguente modo:

    <%


    For Each i In Request.form


    var=i & "_" & Request.Form(i)
    'response.write(var) & "
    "
    if len(var) > 5 then
    Str = Mid(var, 1, 5)
    if Str = "test_" then
    lth=len(var)
    tot=instrrev(var,"_")
    lenvalue=(lth-tot)
    pos=(tot-len(str)-1)
    Idx = Mid(var, 6, pos)
    Vlu = right(var, lenvalue)
    response.write "VLU=" & (vlu) & "
    "
    response.write "IDX=" & (idx) & "
    "

    end if
    end if

    Next

    %>

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 © 2024 vBulletin Solutions, Inc. All rights reserved.