Oppure

Loading
28/05/14 12:36
cuore napoletano
Salve a tutti, chiedoil favore di aiutarmi a risolvere un problema.
Ho un file chiamato funzioni.php.
In questo file ho la seguente funzione:
<?php

include('remoto\controlliForm.inc.js');

function aggancia_db($db,$tabella,$form,$tablellaHTML,$action,$eccezione,$campiNumerici)
{
....
codice ecc

echo "<input type='text' id='$n' name='$n' size='30' onchange='javascript:funzioniControllo()' ><br>";

.... altro codice ecc
}

?>

Ho il bisogno di inviare l'argomento $campiNumerici [definito $campiNumerici=array(1,2,3,4,5);]
ad una funzione javascript javascript:funzioniControllo() inclusa in controlliForm.inc.js. ogni volta
che inserisco un dato nell'input.

Ho fatto molti tentativi ma senz a successo,potete aiutarmi?Grazie
aaa
28/05/14 15:23
Bonny
Nel titolo parli di "passare" e poi di "inviare"..
Comunque se ho capito bene cosa ti serve potresti fare una cosa del genere:
<html>
  <head>
    <script>
      function funzioniControllo(arg0) {
        console.log(arg0);
      }
    </script>
  </head>
  <body>
    <?php
    $campiNumerici = array(1, 2, 3, 4, 5);
    //serializzo l'array in formato string
    $serialized = "";
    for ($i = 0; $i < count($campiNumerici); $i++) {
      $serialized .= "'" . $campiNumerici[$i] . "',";
    }
    //valorizzo l'array
    echo "<script>var campiNumerici = [" . $serialized . "];</script>";

    //passo come argomento l'array alla funzione
    echo "<input type='button' id='n0' name='n0' size='30' onclick='javascript:funzioniControllo(campiNumerici)' value='log array content'>";
    ?>
  </body>
</html>


in sostanza, aggiungo un array al DOM valorizzandolo con php e lo passo come argomento alla funzione js.
aaa
29/05/14 9:17
cuore napoletano
Ciao Bonny,
funziona, grazie mille
aaa
29/05/14 11:53
cuore napoletano
Scusa avrei ancora una domanda:
vorrei passare alla funzione anche il nome del form che ho salvato in $form e cioè così:

echo "<input type='button' id='n0' name='n0' size='30' onclick='javascript:funzioniControllo(campiNumeric,$formi)' value='log array content'>";

ma mi da errore.
Potresti spiegarmi come posso aggiungere questo parametro?grazie
aaa
29/05/14 15:07
Bonny
Mi da errore è troppo generico :pat:
Chi da errore ? php? javascript?

A naso dico Javascript ..
Se è cosi devi aggiungere il secondo parametro alla funzione js funzioniControllo
function funzioniControllo(arg0, arg1) {
        console.log(arg0);
        console.log(arg1);
}
Ultima modifica effettuata da Bonny 29/05/14 15:08
aaa
29/05/14 15:25
cuore napoletano
Ciao, grazie per la risposta.
Avevo già aggiunto il secondo parametro arg1;
Con console.log non ottengo messaggi;
Ho provato con alert(arg1); e mi ritorna [object];
cosa posso fare?

Riscrivo il codice.

echo "<input type='text' id='$n' name='$n' size='30' onchange='javascript:funzioniControllo(campiNumerici,$form)' >
Ultima modifica effettuata da cuore napoletano 29/05/14 15:33
aaa
29/05/14 15:37
Bonny
annnnnnn...

$formi è una stringa giusto??

mettilo tra apici nella echo, cosi:
echo "<input type='button' id='n0' name='n0' size='30' onclick='javascript:funzioniControllo(campiNumerici, \"$form\")' value='log array content'>";


in questi casi sarebbe meglio utilizzare printf al posto di echo...
aaa
07/06/14 15:04
cuore napoletano
grazie
aaa