Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590

    passare un form come paramentro

    codice:
    function check(itemform){	
    	if(itemform.getElementsByName('state').value=="ABC")alert("ABC");
    }
    codice:
    <form action="index.php">
    <input type="submit" name="state" value="ABC" />
    <input type="submit"  value="invia" onclick="check(this.form)" />
    <<form>
    perché questo codice non funge?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    check(this.form) > check(document) se usi il DOM devi usare document non nomeform
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590
    ma se passo document come individuo il form? sulla pagina ce ne sono diversi..devo necessariamente dargli l'attributo name?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Quote Originariamente inviata da jimbo0 Visualizza il messaggio
    ma se passo document come individuo il form? sulla pagina ce ne sono diversi..devo necessariamente dargli l'attributo name?
    Se usi il DOM document.getElementsByName("NomeOggetto")... altrimenti document.NomeForm.NomeOggetto....
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590
    la funzione deve essere "dinamica" (nel senso di non avere il nome del form) perché deve essere applicata a tanti form uguali, mi spiego:
    al click sul tasto invia devo verificare se questo form ha un input type="submit" state=ABC, ma ci sono tanti form con tanti input con nome "state"

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    getElementsByName ritorna una collezione, quindi:

    if(itemform.getElementsByName('state')[0].value=="ABC")alert("ABC");

    oppure, come ti e' stato suggerito:


    if(itemform.state.value=="ABC")alert("ABC");

    ciao

    ps: spero che quel
    <<form> di chiusura sia un errore di stompa...
    Ultima modifica di br1; 20-12-2013 a 22:26
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590
    codice:
    <input type=\"button\" value=\"Elimina\" name=\"action\" onclick=\"deleteNodeCheck(this.form);\">
    (o anche passando il nome del form)

    codice:
    function deleteNodeCheck(itemform){    alert(itemform.getElementsByName('state')[0].value);}
    mi dice itemform.getElementsByName is not a function

    è proprio il passaggio del form come parametro che non digerisce..

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590
    un momento, pare che
    itemform.state.value=="ABC"
    funzioni

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.