Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Modificare action di form tramite funzione javascript

    Salve a tutti!

    Ho questo problema:
    devo cambiare la destinazione di un form (e l'InnerHTML di un pulsante) tramite una funzione javascript che controlla il valore di alcuni campi.

    Con alcuni valori il form non deve avere un'action, mentre il pulsante chiamerà da solo un popup (tipo button).
    Con gli altri valori il pulsante eseguirà normalmente il submit dell'action del form.

    Ho provato a modificare l'InnerHTML, ma non ottengo risultati...

    Sapete consigliarmi?

    Grazie in anticipo a tutti!
    Sono fermamente convinto che sia possibile fare ogni cosa. Tutto sta a capire come.

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    cambi l'innerHTML di che cosa?

    se il pulsante ha id="pulsante" allora modifichi il testo con
    document.getElementById('pulsante').value = 'testo';

    se il form ha id="modulo" allora modifichi l'action con

    document.getElementById('modulo').setAttribute('ac tion', 'pagina.boh'); oppure

    document.getElementById('modulo').action = 'pagina.boh';

    Ciao
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Originariamente inviato da fcaldera
    cambi l'innerHTML di che cosa?

    se il pulsante ha id="pulsante" allora modifichi il testo con
    document.getElementById('pulsante').value = 'testo';

    se il form ha id="modulo" allora modifichi l'action con

    document.getElementById('modulo').setAttribute('ac tion', 'pagina.boh'); oppure

    document.getElementById('modulo').action = 'pagina.boh';

    Ciao
    Ciao!

    Non devo cambiare solo il testo del pulsante, purtroppo.
    Il value non è un problema, il problema è che in un caso deve richiamarmi una funzione che apre un popup ed avere type='button' e richiamare un'altra funzione javascript, nell'altro deve avere di type='submit'.
    Similmente il form dovrà avere action='pagina.boh' in un case e nessun action nell'altro.

    Come modifico questo parametro?

    Grazie per ora
    Sono fermamente convinto che sia possibile fare ogni cosa. Tutto sta a capire come.

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    inserisci direttamente i due pulsanti (un submit e un button) ciascuno dentro un div (di cui uno nascosto come stato iniziale).

    Quando si verifica la condizione

    1) fai una sorta di switch tra i livelli nascondendo uno e mostrando l'altro e viceversa. Puoi agire con <elementodiv>.style.display = '(block|none)'
    2) cambi l'action del form nel modo che ti ho suggerito prima.

    In effetti non mi è ben chiaro in quale momento fai il controllo e decidi di fare lo switch... presumo all'onkeyup sui campi di testo o onchange di una select, esatto?

    se non risolve, posta il codice del form e i relativi controlli js che hai fatto finora

    Ciao
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Altrimenti, più semplicemente, potresti iniziare avendo il form con il bottone di submit e l'actio alla pagina

    all'evento onsubmit verifichi la condizione per cui si dovrebbe bloccare. Se è vera apri la popup e metti un return false per non inviare il form
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  6. #6
    Originariamente inviato da fcaldera
    inserisci direttamente i due pulsanti (un submit e un button) ciascuno dentro un div (di cui uno nascosto come stato iniziale).

    Quando si verifica la condizione

    1) fai una sorta di switch tra i livelli nascondendo uno e mostrando l'altro e viceversa. Puoi agire con <elementodiv>.style.display = '(block|none)'
    2) cambi l'action del form nel modo che ti ho suggerito prima.

    In effetti non mi è ben chiaro in quale momento fai il controllo e decidi di fare lo switch... presumo all'onkeyup sui campi di testo o onchange di una select, esatto?

    se non risolve, posta il codice del form e i relativi controlli js che hai fatto finora

    Ciao
    Esatto, eseguo il controllo all'onchange di una select.
    Ho provato con i <div> e mi funziona benissimo, grazie mille!

    Già che ci sono, senza stare ad aprire un altro thread (approfitto di questo):
    c'è un modo per far sì che il popup si chiuda quando al click di un tasto e si torni alla pagina madre facendole eseguire del codice?
    Nel senso:
    in questo popup effettuo la lavorazione di alcuni dati caricati nella pagina madre.
    Una volta che termino la lavorazione ho bisogno di chiudere il popup, eseguire dalla pagina madre le query che mi servono e dare un risultato (sempre in pagina madre).
    C'è una qualche funzione javascript che può aiutarmi in questo o è una mera questione ASP (al click del pulsante richiamo la pagina madre passandogli alcuni parametri che le fanno eseguire le query)?
    In particolare vorrei capire come tornare ad eseguire tutte le operazioni sulla pagina madre liberandomi della popup (chiudendola e non dovendo aprire altre pagine oltre alla madre già aperta).

    Grazie in anticipo.

    Sono fermamente convinto che sia possibile fare ogni cosa. Tutto sta a capire come.

  7. #7
    Posso usare in questo caso il this.opener come valore per l'URL e poi chiamare il self.close()?
    Se sì in che modo posso prenderlo?
    Sono fermamente convinto che sia possibile fare ogni cosa. Tutto sta a capire come.

  8. #8
    Originariamente inviato da Xion Aritel
    Posso usare in questo caso il this.opener come valore per l'URL e poi chiamare il self.close()?
    Se sì in che modo posso prenderlo?
    Scusate se uppo.

    Nessuno può aiutarmi?
    Sono fermamente convinto che sia possibile fare ogni cosa. Tutto sta a capire come.

  9. #9
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    self.opener dalla popup e' il riferimento alla pagina madre,
    agirai sulla location della stessa con
    window.opener.location.href='pagina.asp?var=valore ';

    self.close() richiamato nella popup la chiude

    ciao

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.