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

    ? cambiare valori nei campi <INPUT>

    Ciao
    con uno script cambio il valore di un campo INPUT, che poi verrà inviato come POST per l'inserimento in un database.

    onClick (document.forminser.inputX.value="3")

    Nella finestra del browser appare il valore cambiato, ma nella sorgente HTML il valore rimane invece quello originario:

    <INPUT TYPE="hidden" NAME="inputX" VALUE="2">

    ed effettivamente nel database viene scritto quest'ultimo (scripta manent.... ).
    Ciò accade con qsiasi type di campo (textarea, hidden, text, ecc.)

    1-come mai c'è questa dicotomia?
    2-che metodo devo usare per cambiare veramente a livello HTML il valore del parametro VALUE del tag INPUT?
    es. document.write() cosa?

    thx in adv

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    javascript fa cambi dinamici...
    anche se usi un innerHTML il codice sorgente (in cache) rimane uguale!

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Devi avere un altro problema xche di solito sono i valori che vedi che sono trasmesse dal metodo post. Se tu postassi il tuo codice aiuterebbe.

  4. #4
    Questi sono i tratti salienti del codice.

    <script>
    function formFiller(id)
    {
    eval('document.forminser.id_new.value=document.for mdelete.id_new'+id+'.value');
    eval('document.forminser.date.value=document.formd elete.date'+id+'.value');
    eval('document.forminser.text.value=document.formd elete.text'+id+'.value');
    eval('document.forminser.id_prod.value=document.fo rmdelete.id_prod'+id+'.value');
    eval('document.forminser.url.value=document.formde lete.url'+id+'.value');
    eval('document.forminser.havepic.value=document.fo rmdelete.havepic'+id+'.value');
    }
    </script>
    [...]

    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data" name="forminser" id="forminser">
    <input name="file" type="file">
    <input name="havepic" type="hidden" id="havepic" value="">
    <textarea name="text" cols="60" rows="4" wrap="physical" id="text"></textarea>
    <input name="url" type="hidden" id="url" value="">
    <input name="date" type="hidden" id="date" value=""></form>

    [img]bullets/ico_m.gif[/img]

    <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data" name="formdelete" id="formdelete">
    <input name="id_new1" type="hidden" value="1">
    <input name="date1" type="hidden" value="28/09/2003">
    <input name="text1" type="hidden" value="qwertyuiop">
    <input name="id_prod1" type="hidden" value="3422">
    <input name="url1" type="hidden" value="">
    <input name="havepic1" type="hidden" value="0">
    </form>

  5. #5
    ma allora nn c'è modo di riempire un form via javascript con valori già caricati e presenti nella pagina?
    devo per forza fare un reload della pagina passandole questi valori via HTTP o sessioni o cookies?
    Ciò mi sembra strano, troppo limitante viste le possibilità e la diffusione dello scripting lato client.

    Originariamente inviato da $$$
    javascript fa cambi dinamici...
    anche se usi un innerHTML il codice sorgente (in cache) rimane uguale!

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Ma il submit dei form dove sta ????

  7. #7
    è un submit normalissimo, il tutto funziona tranquillamente passando i valori da un form all'altro via POST.

    cmq questo è il codice della pagina completa (mancano tutte le funzioni PHP e i recordset):
    [I]
    <script language="JavaScript" type="text/JavaScript">
    <!--

    //qua mancano varie funzioni

    function formFiller(id)
    {
    <?php
    for ($i=0; $i<=$fields; $i++){ ?>
    eval('document.forminser.<?php echo mysql_field_name($Recordset, $i);?>.value=document.formdelete.<?php echo mysql_field_name($Recordset, $i);?>'+id+'.value');
    <?php }?>
    }
    //-->
    </script>
    </head>



    <body scroll=no>

    <table width="100%" height="100%" border="0" >
    <tr>
    <td><div id="layerForm" style="width:100%; z-index:1; visibility: show">
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data" name="forminser" id="formnews">
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="227" align="right"></td>
    <td width="1019">La new corrente verr&agrave; inserita con il record
    ID #<input name="id_new" type="text" id="id_new" value="<?php echo $maxID; ?>" size="3" maxlength="3" readonly="true"></td>
    </tr>
    <tr>
    <td align="right">prodotto</td>
    <td><select name="id_prod" id="select">
    <option value="-1">- scegli un prodotto -</option>
    <option value="">nessuno / non esistente</option>
    <?php
    do {
    ?>
    <option value="<?php echo $row_rsProd['id_prod']?>"><?php echo $row_rsProd['nome']?></option>
    <?php
    } while ($row_rsProd = mysql_fetch_assoc($rsProd));
    $rows = mysql_num_rows($rsProd);
    if($rows > 0) {
    mysql_data_seek($rsProd, 0);
    $row_rsProd = mysql_fetch_assoc($rsProd);
    }
    ?>

    </select></td>
    </tr>
    <tr>
    <td align="right">immagine</td>
    <td>
    <input name="MAX_FILE_SIZE" type="hidden" id="MAX_FILE_SIZE" value="200000">
    <input name="file" type="file" size="75">
    <input name="havepic" type="hidden" id="havepic" value=""></td>
    </tr>
    <tr>
    <td align="right">testo news</td>
    <td><textarea name="text" cols="60" rows="4" wrap="physical" id="text"></textarea>
    <input name="url" type="hidden" id="url" value="">
    <input name="date" type="hidden" id="date" value=""></td>
    </tr>
    <tr>
    <td align="left" valign="top"><input name="reset" type="reset" id="reset" title="Azzera il modulo" value="Reimposta">
    <input name="Annulla" type="button" id="Annulla" title="Annulla l'operazione e chiude il modulo" onClick="MM_goToURL('parent','<?php echo $_SERVER['PHP_SELF'];?>');return document.MM_returnValue;" value="Annulla"></td>
    <td> <input name="Submit" type="submit" title="Inserisce i dati nel database" onClick="return document.MM_returnValue;" value="Inserisci record"></td>
    </tr>
    </table>
    <input type="hidden" name="MM_insert" value="insert_form">
    </form>
    </div></td>
    </tr>
    <tr>
    <td valign="top" class="bordoSup" height="100%">
    <div id="Layer2" style="width:100%; height:100%; z-index:2; overflow-y: auto;">
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data" name="formdelete" id="formdelete">
    <table width="100%" border="0">
    <tr>
    <td width="200" align="left" valign="top">
    <input name="Inserisci" type="button" id="Inserisci" title="Apre il modulo per inserire un nuovo record nel database" value="Nuovo record">
    </td>
    <td><table border="0">
    <tr>
    <td id="edit">Modifica</td>
    <td id="delete">Elimina</td>
    <td>id_new</td>
    <td>data</td>
    <td>testo</td>
    <td>id prodotto</td>
    <td>link</td>
    <td>immagine</td>
    </tr>
    <?php if ($totalRows_Recordset) do { ?>
    <tr>
    <td align="center"> [img]bullets/ico_m.gif[/img]" title="Modifica la riga #<?php echo $row_Recordset['id_new']; ?>" onClick="formFiller(<?php echo $row_Recordset[0];?>)">
    </td>
    <td align="center">
    <input name="del[]" type="checkbox" id="del<?php echo $row_Recordset['id_new']; ?>" title="Spuntare per eliminare questa riga, la #<?php echo $row_Recordset['id_new']; ?>, dal database" onClick="submitControl(this);" value="<?php echo $row_Recordset['id_new']; ?>"></td>
    <td><?php echo $row_Recordset['id_new']; ?></td>
    <td><?php echo $row_Recordset['date']; ?></td>
    <td><?php echo raffSampleDesc($row_Recordset['text'], 30); ?></td>
    <td><?php echo $row_Recordset['id_prod']; ?></td>
    <td><?php echo $row_Recordset['url']; ?></td>
    <td>
    <?php if($row_Recordset['havepic']) {?>
    [img]bullets/ico_i.gif[/img]
    <?php }?>
    <?php
    for ($i=0; $i<=$fields; $i++){ ?>
    <input name="<?php echo mysql_field_name($Recordset, $i).$row_Recordset[0];?>" type="hidden" value="<?php echo $row_Recordset[$i];?>">
    <?php }?>
    </td>
    </tr>
    <?php } while ($row_Recordset = mysql_fetch_array($Recordset, MYSQL_BOTH)); ?>
    </table></td>
    </tr>
    <tr>
    <td valign="top">
    <input name="Deselect" type="reset" id="Deselect" title="Azzera tutte le caselline di spunta" value="Deseleziona tutto">


    </td>
    <td valign="top">
    <input name="Elimina" type="submit" disabled="true" id="Elimina" onClick="return confirm('Sei sicuro di voler eliminare le news selezionate?');" value="Elimina righe selezionate">
    </td>
    </tr>
    </table>
    <input name="MM_delete" type="hidden" id="MM_delete" value="delete">
    </form>
    </div></td>
    </tr>
    </table>

    </body>
    </html><script language="JavaScript" type="text/JavaScript">
    <!--


    function MM_goToURL() { //v3.0
    var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
    for (i=0; i<(args.length-1); i+=2) eval(args+".location='"+args[i+1]+"'");
    }

    var totalChecks = 0;
    function submitControl(obj)
    {
    obj.checked? totalChecks++: totalChecks--;
    totalChecks>=1?document.formdelete.Elimina.disable d= false:document.formdelete.Elimina.disabled= true;
    }

    function formFiller(id)
    {
    <?php
    for ($i=0; $i<=$fields; $i++){ ?>
    eval('document.forminser.<?php echo mysql_field_name($Recordset, $i);?>.value=document.formdelete.<?php echo mysql_field_name($Recordset, $i);?>'+id+'.value');
    <?php }?>
    }
    //-->
    </script>
    </head>



    <body scroll=no>

    <table width="100%" height="100%" border="0" >
    <tr>
    <td><div id="layerForm" style="width:100%; z-index:1; visibility: show">
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data" name="forminser" id="formnews">
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="227" align="right"></td>
    <td width="1019">La new corrente verr&agrave; inserita con il record
    ID #<input name="id_new" type="text" id="id_new" value="<?php echo $maxID; ?>" size="3" maxlength="3" readonly="true"></td>
    </tr>
    <tr>
    <td align="right">prodotto</td>
    <td><select name="id_prod" id="select">
    <option value="-1">- scegli un prodotto -</option>
    <option value="">nessuno / non esistente</option>
    <?php
    do {
    ?>
    <option value="<?php echo $row_rsProd['id_prod']?>"><?php echo $row_rsProd['nome']?></option>
    <?php
    } while ($row_rsProd = mysql_fetch_assoc($rsProd));
    $rows = mysql_num_rows($rsProd);
    if($rows > 0) {
    mysql_data_seek($rsProd, 0);
    $row_rsProd = mysql_fetch_assoc($rsProd);
    }
    ?>

    </select></td>
    </tr>
    <tr>
    <td align="right">immagine</td>
    <td>
    <input name="MAX_FILE_SIZE" type="hidden" id="MAX_FILE_SIZE" value="200000">
    <input name="file" type="file" size="75">
    <input name="havepic" type="hidden" id="havepic" value=""></td>
    </tr>
    <tr>
    <td align="right">testo news</td>
    <td><textarea name="text" cols="60" rows="4" wrap="physical" id="text"></textarea>
    <input name="url" type="hidden" id="url" value="">
    <input name="date" type="hidden" id="date" value=""></td>
    </tr>
    <tr>
    <td align="left" valign="top"><input name="reset" type="reset" id="reset" value="Reimposta">
    <input name="Annulla" type="button" id="Annulla" title="Annulla l'operazione e chiude il modulo" onClick="MM_goToURL('parent','<?php echo $_SERVER['PHP_SELF'];?>');return document.MM_returnValue;" value="Annulla"></td>
    <td> <input name="Submit" type="submit" title="Inserisce i dati nel database" onClick="MM_validateForm('testo','','R');return document.MM_returnValue;" value="Inserisci record"></td>
    </tr>
    </table>
    <input type="hidden" name="MM_insert" value="insert_form">
    </form>
    </div></td>
    </tr>
    <tr>
    <td valign="top" class="bordoSup" height="100%">
    <div id="Layer2" style="width:100%; height:100%; z-index:2; overflow-y: auto;">
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data" name="formdelete" id="formdelete">
    <table width="100%" border="0">
    <tr>
    <td width="200" align="left" valign="top">
    <input name="Inserisci" type="button" id="Inserisci" value="Nuovo record">
    </td>
    <td><table border="0">
    <tr>
    <td id="edit">Modifica</td>
    <td id="delete">Elimina</td>
    <td>id_new</td>
    <td>data</td>
    <td>testo</td>
    <td>id prodotto</td>
    <td>link</td>
    <td>immagine</td>
    </tr>
    <?php if ($totalRows_Recordset) do { ?>
    <tr>
    <td align="center"> [img]bullets/ico_m.gif[/img]" onClick="formFiller(<?php echo $row_Recordset[0];?>)">
    </td>
    <td align="center">
    <input name="del[]" type="checkbox" id="del<?php echo $row_Recordset['id_new']; ?>" onClick="submitControl(this);" value="<?php echo $row_Recordset['id_new']; ?>"></td>
    <td><?php echo $row_Recordset['id_new']; ?></td>
    <td><?php echo $row_Recordset['date']; ?></td>
    <td><?php echo raffSampleDesc($row_Recordset['text'], 30); ?></td>
    <td><?php echo $row_Recordset['id_prod']; ?></td>
    <td><?php echo $row_Recordset['url']; ?></td>
    <td>
    <?php if($row_Recordset['havepic']) {?>
    [img]bullets/ico_i.gif[/img]
    <?php }?>
    <?php
    for ($i=0; $i<=$fields; $i++){ ?>
    <input name="<?php echo mysql_field_name($Recordset, $i).$row_Recordset[0];?>" type="hidden" value="<?php echo $row_Recordset[$i];?>">
    <?php }?>
    </td>
    </tr>
    <?php } while ($row_Recordset = mysql_fetch_array($Recordset, MYSQL_BOTH)); ?>
    </table></td>
    </tr>
    <tr>
    <td valign="top">
    <input name="Deselect" type="reset" id="Deselect" value="Deseleziona tutto">


    </td>
    <td valign="top">
    <input name="Elimina" type="submit" disabled="true" id="Elimina" onClick="return confirm('Sei sicuro di voler eliminare le news selezionate?');" value="Elimina righe selezionate">
    </td>
    </tr>
    </table>
    <input name="MM_delete" type="hidden" id="MM_delete" value="delete">
    </form>
    </div></td>
    </tr>
    </table>

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Beh devo ammettere che non ho letto il tuo codice.... Quindi ti scrivo come faccio.


    ...
    function affecte() {
    document.all.commentTextArea.value = document.all.comment.innerHTML;
    document.all.form1.submit();
    }
    ...

    <form name="form1" onsubmit="affecte()" action="<? print THIS_SITE_MAIN_SCRIPTS.THIS_PAGE_NAME."?idtable=$i dtable&idformat=$idformat" ?>" method="post">
    ....
    <input class="dba" type="reset" name="btn_validate" value="<? print RESET_ ?>">

    <input class="dba" type="submit" name="btn_validate" value="<? print SUBMIT_ ?>">
    </form>

  9. #9
    uhm... nell'assegnazione
    commentTextArea.value = comment.innerHTML

    se non erro, mi prendi il valore scritto nella pagina e lo metti nel value, mentre qui è il contrario: il valore HTML non viene modificato dallo script.
    Dovrei invece poter fare il contrario: inviare con submit() i valori .value e non quelli .innerHTML

    mo' provo, comunque.
    Ah, beh, GRAZIE mille dell'interessamento!!

  10. #10
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Ci siamo fraintesi... il mio esempio non ha nulla a che vedere con la tua voglia di modificare la sorgente html.... xche è impossibile senza un submit.... Nel mio esempio (una specie di editor html) assegno codice html ad una textarea perche non posso fare altrimenti x salvare il testo.
    Quello che volevo dire è che forse devi fare un submit con javascript.

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.