Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: problema button

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171

    problema button

    perchè con :
    <type="button" onClick="('ELIMINA.asp')"

    mi apre la pagina ma non mi posso prelevare i dati del form?

  2. #2
    Perché in pratica gli hai detto solo di eseguire un'azione (in particolare, andare alla pagina ELIMINA.asp), non di fare il "submit" del form.

    Ci sono diversi modi per farlo, eccone un paio:

    Codice PHP:
    <form name="mioform" method="post" action="ELIMINA.asp">

    ...

    <
    input type="submit" value="Elimina">
    </
    form
    Oppure, se vuoi proprio usare un bottone:

    Codice PHP:
    <form name="mioform" mthod="post" action="ELIMINA.asp">

    ...

    <
    input type="button" value="Elimina" onclick="document.mioform.submit();">
    </
    form
    Michele
    King Of The Kill

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    ho provato cosi dato che prima di continuare chiedo la conferma dell'eliminazione:

    <input name="elimina" value="Elimina Notizie" type="button" onClick="return risposta_elimina('document.form1.submit')" >

    e la funzione:
    <script language="JavaScript">
    function risposta_elimina(del) {
    var el=confirm("Vuoi eliminare i MESSAGGI selezionati?");
    if (el)
    window.location.href=del;
    else
    window.location.href="elenco.asp";
    }
    </script>

    ho notato che se tolgo la parte "return risposta_elimina" funziona,
    ma se la lascio non riesce a trovare la pagina.

  4. #4
    ho provato cosi dato che prima di continuare chiedo la conferma dell'eliminazione:

    <input name="elimina" value="Elimina Notizie" type="button" onClick="return risposta_elimina('document.form1.submit')" >

    e la funzione:
    <script language="JavaScript">
    function risposta_elimina(del) {
    var el=confirm("Vuoi eliminare i MESSAGGI selezionati?");
    if (el)
    window.location.href=del;
    else
    window.location.href="elenco.asp";
    }
    </script>
    alla funzione passi la stringa 'document.form1.submit'... non ha molto senso...
    Se proprio vuoi passare qualcosa, passa l'oggetto "form1".

    Codice PHP:
    <input name="elimina" value="Elimina Notizie" type="button" onClick="return risposta_elimina(document.form1);" /> 
    e la funzione:

    Codice PHP:
    <script language="javascript">
    function 
    risposta_elimina(myForm) {
        var 
    el=confirm("Vuoi eliminare i MESSAGGI selezionati?");
        if (
    el) {
            
    myForm.submit();
            return 
    true;
        } else {
            
    window.location.href="elenco.asp";
        }
        return 
    false;
    }
    </script> 
    Comunque, io toglierei la chiamata della funzione dal bottone (onclick). Piuttosto, mettila nel tag form con gli attributi onsubmit="return risposta_elimina();" e action="paginaDiDestinazione.asp".
    Javascript e HTML diventano:

    Codice PHP:
    <script language="javascript">
    function 
    risposta_elimina() {
        var 
    el=confirm("Vuoi eliminare i MESSAGGI selezionati?");
        if (
    el) {
            return 
    true;
        } else {
            
    window.location.href="elenco.asp";
        }
        return 
    false;
    }
    </script>

    <form name="mio_form" action="paginaDiDestinazione.asp" method="post" onsubmit="return risposta_elimina();">

    // Contenuto del form...

    <input type="submit" name="elimina" value="Elimina Notizie" />
    </input>
    </form> 
    Perché usi type="button"? Se usi type="submit", il browser tenta subito di inviare i dati del form, non c'è bisogno che gli associ una funzione onclick.
    Questo processo però viene anticipato da ciò che inserisci nell'attributo onsubmit del form. In questo caso, una richiesta di conferma. Altre volte invece è necessario convalidare, mediante altre funzioni javascript, i dati inseriti nel form.
    Michele
    King Of The Kill

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    grazie, ho provato come hai detto e funziona perfettamente.

    Ho provato ad inserire prima

    <script language="javascript">
    function risposta_elimina() {

    * if (form1.elen.value=="") {
    * alert("Selezionare almeno un valore!");
    * return false;
    }

    var el=confirm("Vuoi eliminare i MESSAGGI selezionati?");
    if (el) {
    return true;
    } else {
    window.location.href="elenco_inviate.asp";
    } ecc....

    ma non funziona il controllo se ho selezionato nessuna check
    dov'e' l'errore?

  6. #6
    Dipende da come hai costruito il tuo form e da come hai creato le checkbox.
    Così a naso direi però che hai almeno due errori:

    1) all'interno della funzione usi form1, che non hai definito.

    O glielo passi come argomento
    Codice PHP:
    onsubmit="return risposta_elimina(this);" 
    e poi definisci la funzione con un parametro in ingresso:
    Codice PHP:
    function risposta_elimina(myForm) {
        
    // ... al posto di form1 dovrai utilizzare myForm

    oppure lo definisci all'interno della funzione stessa (se però intendi usare la funzione solo per quello specifico form):
    Codice PHP:
    function risposta_elimina() {
        var 
    form1 document.mioForm;
         
    // ...

    2) se hai una checkbox sola, questo è l'altro errore:
    if (form1.elen.value=="") {
    Dovrebbe essere:
    Codice PHP:
    if (form1.elen.checked==false) { 
    oppure
    Codice PHP:
    if (!form1.elen.checked) { 
    Se hai più checkbox probabilmente dovrai utilizzare un ciclo for e verificare che non ce ne sia neanche una impostata su true.
    Se non riesci, posta l'html completo che gli dò un'occhiata.

    Comunque, un consiglio: per controllare cosa succede mentre fai una chiamata ad una funzione javascript, ogni tanto inserisci un window.alert('messaggio di alert');
    Esempio:

    Codice PHP:
    <script language="javascript">
    function 
    risposta_elimina(myForm) {
        
    // mostra il valore della checkbox di nome "elen", appartenente al form passato come parametro alla funzione
        
    window.alert(myForm.elen.checked);
       
    // poi prova a sostituire con window.alert(myForm.elen.value);

        
    if (myForm.elen.checked==false) {
            
    alert("Selezionare almeno un valore!");
            return 
    false;
        }


        var 
    el=confirm("Vuoi eliminare i MESSAGGI selezionati?");
        if (
    el) {
            return 
    true;
        } else {
            
    window.location.href="elenco.asp";
        }
        return 
    false;
    }
    </script> 
    Michele
    King Of The Kill

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    scusa,
    ho provato a fare una rettifica cosi:
    <script language="javascript">
    function risposta_elimina() {
    // mostra il valore della checkbox di nome "elen", appartenente al form passato come parametro alla funzione
    window.alert(document.form1.elen.checked);
    // poi prova a sostituire con window.alert(myForm.elen.value);
    if (document.form1.elen.checked==true) {
    alert("Selezionare almeno un valore!");
    return false;
    }
    var el=confirm("Vuoi eliminare i MESSAGGI selezionati?");
    if (el) {
    return true;
    } else {
    window.location.href="elenco_inviate.asp";
    }
    return false;
    }
    </script>

    E se non seleziono niente mi manda il messaggio cosi:

    UNDEFINED
    m poi va subito alla confirm senza mandare il messaggio alert
    (ps: ho provato anche con false)

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    adesso funziona perche ho modifcato cosi

    ho cambiato false con : undefined
    e funziona....
    grazie!!!!

    function risposta_elimina() {
    // mostra il valore della checkbox di nome "elen", appartenente al form passato come parametro alla funzione
    window.alert(document.form1.elen.checked);
    // poi prova a sostituire con window.alert(myForm.elen.value);
    if (document.form1.elen.checked==undefined) {
    alert("Selezionare almeno un valore!");
    return false;

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    scusa di nuovo.

    non funziona nel senso che se seleziono e se non seleziono
    mi da sempre il mesasggio che non ho selezionato niente.

    quindi il problema è li?

  10. #10
    Non mi hai detto quante checkbox hai. La situazione cambia se ne hai una o se ne hai più d'una.
    Mi fai vedere l'html del tuo form?
    Michele
    King Of The Kill

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