Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    225

    Modifica celle tabella e acquisizione nuovo dato

    Ciao Ragazzi! Ho un problemuccio con la modifica di una semplice cella e l'invio del nuovo dato (o vecchio dato)...ecco lo script che ho fatto:

    index.html
    Codice PHP:
    <html>



    <
    head>

    <
    SCRIPT language="JavaScript">

    function 
    clicked2(obj)

    {

        var 
    newtext prompt ("Inserisci il nuovo valore:"obj.innerHTML);

        
    obj.innerHTML newtext;

    }



    function 
    invioDt(formMio)

    {

        
    formMio.target="";

        
    formMio.action="ricevi.php";

        
    formMio.submit();

    }

    </SCRIPT>

    </head>



    <body>



    <FORM id="form1" method="get">

    <TABLE border="1">

      <TR>

        <TD id="cella2" name="cella2" onClick="clicked2(this);">Clicca_2</TD>

        </TR>

        <tr>

        <td height="15"><input type="button" value="Invia" onClick="invioDt(this.form);"></td>

        </tr>

        </TABLE>

    </FORM>



    </body>

    </html> 

    ricevi.php
    Codice PHP:
    <?PHP

    $dato 
    $_GET['cella2'];

    echo 
    "Il dato inserito è: ".$dato;

    ?>

    soluzione?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    guarda che un form invia il contenuto dei suoi campi (input, select, textarea),
    non qualunque elemento racchiuso tra <form></form>

    piuttosto che
    obj.innerHTML = newtext;

    vorrai scrivere il value di un input, anche di tipo hidden con
    document.getElementById('idCampoInputHidden').valu e=newtext

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    e nota che quello che cercherai lato server e' il name del campo, non il suo id
    $dato = $_GET['nameCampoInputHIdden'];

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    225
    perdonami xinod, ma non l'ho capito (son proprio scarso )...


    dovrei modificare:

    obj.innerHTML = newtext; ---> document.getElementById('cella2').value=newtext;


    e poi dal lato server?

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Scusa ma cognizioni minime di javascript, html, php le hai?
    Perché da quello che scrivi e dalle domande che fai sembrerebbe che tu non abbia mai aperto una guida, e sperare che il forum ti faccia da tutor lo trovo pretenzioso.
    Detto questo, il td fa parte della tabella non del form se vuoi passare il dato devi usare o un campo hidden (nascosto) oppure un campo text (visibile) che recupererai $_REQUEST["nome_campo_form"];
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    va bene questo
    document.getElementById('cella2').value=newtext;

    il td diventa

    <TD onClick="clicked2(this);">Clicca_2 <input type="hidden" id="cella2" name="cella2" /></TD>

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    225
    Intanto grazie ragazzi! Ho fatto così:

    Codice PHP:
    <SCRIPT language="JavaScript">
    function 
    clicked1(obj)
    {
        var 
    newtext prompt ("Inserisci il nuovo valore:"obj.innerHTML);
        
    document.getElementById('H1').value=newtext;
        
    obj.innerHTML newtext;
    }

    function 
    invioDt(formMio)
    {
        
    formMio.target="";
        
    formMio.action="ricevi.php";
        
    formMio.submit();
    }
    </SCRIPT>
    </head>

    <body>

    <FORM id="form1" method="get">
    <TABLE border="1">
          <TR>
        <TD id="A1" onClick="clicked1(this);">Clicca_1</TD>
        <input type="hidden" name="cella1" id="H1" value="Clicca_1">
        </TR>
          <TR>
        <TD id="B1" onClick="clicked1(this);" value="A3">Clicca_2</TD>
        <input type="hidden" name="cella2" id="H2" value="Clicca_2">
        </TR>
        <tr>
        <td height="15"><input type="button" value="Invia" onClick="invioDt(this.form);"></td>
        </tr>
        </TABLE>
    </FORM> 
    ricevi.php

    Codice PHP:
    <?PHP

    $dato1 
    $_GET['cella1'];

    echo 
    "
     Il dato inserito è: "
    .$dato1;

    ?>
    e funziona...ora però se devo utilizzare la stessa funzione per la seconda cella (e quindi passare il suo id), come lo modifico?

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    i tr possono solo contenere td o th, quindi i tuoi campi devono trovarsi altrove

    come passi quell' obj come argomento della funzione passa anche l' id del campo
    function clicked1(obj, idCampo){
    ...
    document.getElementById(idCampo).value=newtext;
    ...
    }
    ...
    <TD id="A1" onClick="clicked1(this, 'H1');">Clicca_1</TD>

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    225
    Perfettissimooooooo!!!!! Grazie 1000 Xinod!!!!

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