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

    due submit nella stessa form

    io ho due submit nella stessa form, e cliccando su uno o sull'altro vengo rimandao a due pagine diverse, solo che non funziona. Io ho fatto così:

    codice:
    <input type="submit" name="button" value="Inserisci" onClick="this.form1.action=insert.php">
    <input type="submit" name="ante" value="Anteprima" onClick="this.form1.action=anteprima.php">
    La form si chiama naturalmente form1 e l'action l'ho lasciata vuota. Il problema è che cliccando su uno dei due bottoni, non mi apre la pagina che io ho specificato nell'onClick, dove sbaglio?altra domanda...come faccio se voglio aprire ad esempio la pagina anteprima.php in un'altra pagina?

    Grazie mille!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    this indica il campo in cui viene chiamato.
    Dentro quel campo non esiste l'oggetto form1, mentre e` definito l'oggetto form.
    Nell'action devi mettere una stringa, non un oggetto predefinito.

    Quindi:
    onclick="this.form.action='insert.php';"

    Per il target, se non usi XHTML puoi inserirlo:

    onclick="this.form.action='anteprima.php'; this.form.target='_blank';"
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    ti ringrazio!Sei sempre di grande aiuto!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  4. #4
    Ho un altro piccolo problemino

    Io ora vorrei che la pagina anteprima mi si aprisse in una nuova pagina di dimensioni predefinite e ho fatto così (vi posto solo l'onClick):

    codice:
    "this.form.action='javascript:openPop(anteprima.php','','scrollbars=no,width=370,height=300,left=370,top=200,screenX=15')';"
    Penso non funzioni per via degli apici etc, ma come dovrei organizzarli?Al momento mi dice Previsto ';' a quella linea...

    La funzione openPop che vedete è questa:

    codice:
    function openPop(theURL,winName,features) { 
        window.open(theURL,winName,features);
    }
    Mi sapete consigliare in merito?Grazie mille
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non e` corretto.

    Posto il tag form con i JS inseriti. Non prendo in considerazione action diverse come nei post sopra.

    <form ... action="anteprima.php" target="ppp" onsubmit="window.open('', 'ppp', '....');">

    Per fare quello che volevi fare sopra, occorre modificare in ogni caso:
    action
    target
    funzione al submit

    Occorre quindi fare una funzione esterna (ad esempio nella head) che si occupa di modificare tutto e spedire il form.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    ma se io metto così nel tag form non me lo applica per ogni bottone?Io vorrei che solo premendo il secondo bottone (quello dell'anteprima) mi si apra in una popUp, o forse non ho capito come fare ciò che dici.
    Scusami se ti stresso l'anima, ma sono proprio a livello zero.

    ciauzz
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Nel post precedente ho solo corretto il tuo codice (ed ho specificato che non vale nel tuo problema specifico). Speravo riuscissi a risolvere da solo.

    Comunque devi fare una funzione di questo tipo:
    codice:
    function gestForm(ff, myUrl, nuova) {
      ff.action = myUrl;
      if(nuova) {
        ff.target = 'ppp';
        window.open('', 'ppp', '.....');
      }
      return true;
    }
    Chiamerai la funzinoe con:
    <input type="submit" name="button" value="Inserisci" onclick="gestForm(this.form, 'insert.php', false);">
    <input type="submit" name="ante" value="Anteprima" onclick="gestForm(this.form, 'anteprima.php', true);">


    PS perche` screenX e` diverso da left?
    E perche` non c'e` anche screenY?
    screenX e` l'attributo per NN4 che sostituisce left
    screenY e` l'attributo per NN4 che sostituisce top
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    grazie!

    comunque ho deciso di lasciar perdere perché non riesco a farlo funzionare. Te l'ho detto, da solo non c'arrivavo, se ti dico che non so un'acca di javascript e più lo leggo più mi incasino. Ho capito che js non fa per me. Non fa nulla. Grazie lo stesso.

    ciao
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  9. #9
    riporto un attimo su la discussione, perché ho deciso di provare a fare la funzione nonostante ci capisca poco niente.

    Ho modificato leggermente la funzione che mi avevi passato (gestForm) perchè lasciandola come prima, cliccando su Anteprima mi faceva comunque il submit del form, e mi apriva l'Anteprima nella stessa pagina, aprendomela comunque anche in popUp. L'unica differenza è che nella popUp non vedevo il testo dell'anteprima.

    Io ora ho modificato così, ma naturalmente non funziona:
    codice:
    function gestForm(ff, nuova) {
      if(nuova) {
        openPop('anteprima.php','','scrollbars=no,width=370,height=300,left=370,top=200,screenX=370');
      }else{  ff.action = 'insert.php';  }
      return true;
    }
    e i due bottoni sono fatti così:
    codice:
    <input type="submit" name="button" value="Inserisci" onclick="gestForm(this.form, false);" >
    <input type="submit" name="ante" value="Anteprima" onclick="gestForm(this.form, true);" >
    Così mi apre si la popUp, ma non mi ci mette nessun testo dentro, io ho pensato che fa così giustamente perché non metto nessun action nella form; infatti ogni volta che clicco su anteprima, mi apre la popUp, ed in contemporanea mi fa il refresh della pagina sotto, perdendo tutto il testo che era stato digitato fino a quel momento.

    Soluzioni e/o suggerimenti?Grazie mille a tutti!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    La tua funzione non modifica il target e non invia il form.

    Io tornerei alla funzione proposta da me.
    Da quanto dici il problema e` il target che non funziona.

    Forse occorre essere piu` espliciti:
    codice:
    function gestForm(ff, myUrl, nuova) {
      ff.action = myUrl;
      if(nuova) {
        ff.target = 'ppp';
        window.open('', 'ppp', '.....');
      } else {
        ff.target = '_self';
      }
      return true;
    }
    Il tag form deve contenere:
    <form ... target="_self" action="">

    Da chiamare con:
    <input type="submit" name="button" value="Inserisci" onclick="gestForm(this.form, 'insert.php', false);">
    <input type="submit" name="ante" value="Anteprima" onclick="gestForm(this.form, 'anteprima.php', true);">

    Puoi anche provare a scrivere target="" nel <form> OPPURE a togliere l'else della funzione (lasciando il target="_self" ).

    [Non so se e` chiaro, ma ho il dubbio che se il target non e` definito nel <form> non puo` venir modificato da JS]
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.