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

    problemino con script con onchange e layer

    Ciao ho un problemino con uno script.
    Da una select se seleziono un valore si deve visualizzare un layer id e disabilitare contemporaneamente il button del form.

    Sono partito da uno script presente su questo forum posto e posto sotto le parti importanti
    Lo script sotto funziona ossia mi visualizza l'id se scelgo un valore della select
    --------------------------------------------
    <script type="text/javascript">
    function viewhide(myid, myvalue) {
    if (document.getElementById)
    document.getElementById(myid).style.visibility=myv alue;

    else alert("Funzionalità DOM non supportate.");
    }
    </script>
    <select name="automezzi" size="1" id="automezzi" onChange="viewhide('nascosto',this.options[this.selectedIndex].value);">
    <option value="visible">Inserimento targa manuale</option>
    ---------------------------------------------
    ora io devo inserire anche la disabilitazione del pulsante button sempre nello stesso valore una cosa del genere

    document.getElementById("button").disabled=true

    Non riesco ad inserirlo nella funzione sopra perchè o mi dà errore oppure mi disabilita sempre il button se ovviamente lo inserisco prima della if

    Qualche consiglio per favore?
    Grazie, ciao

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    codice:
    if (document.getElementById){
    document.getElementById(myid).style.visibility=myvalue;
    document.getElementById("button").disabled=true;
    }else{alert("Funzionalità DOM non supportate.");}
    In sintesi deve aggiungere le parentesi graffe if = fai {codice per risultato corretto} else = oppure {codice per risultato errato}.
    Consiglio cambia id del bottone, meglio non utilizzare parole riservate agli oggetti.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3

    Grazie

    Ciao ti ringrazio molto per l'aiuto, funziona anche se ho alcune cosette da sistemare .
    Ti vorrei chiedere una cosa ancora.
    Quando mi appare il layer all'interno ho 2 textbox.
    Come posso fare il controllo sulla obbligatorietà della compilazione di almeno 1 delle 2 text quando ovviamente il layer è visibile ?

    Grazie ciao

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Posta la pagina, e cosa deve essere associata la verifica?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5

    Ciao ecco

    Ciao, ecco i pezzi incriminati.

    Allora ho un radio button che si chiama (pulsante) se lo clicco mi appare un layer che si chiama targa con 2 textbox che si chiamano es, targa1 e targa2
    Adesso nel button di invio del form devo intercettare la presenza del checked.

    Lo script sotto l'ho cercato di modificare tenendo come base la verifica del campo automezzi il quale mi serve se non viene ceccato il radiobutton.
    Devo poi aggiungere il fatto che almeno uno dei due campi del layer devono essere compilati.
    Questo è lo script che uso per il controllo del campo automezzi.
    --------------------------------------------
    <script language="javscript" type="text/javascript">
    function check()
    {
    var correct = true
    if (document.form.automezzi.value == 0) {correct = false; alert("ATTENZIONE: INSERIRE UNA TARGA AUTOMEZZI")}
    if (document.form.targa1.value == "" && document.getElementsByName.pulsante.checked) {correct = false; alert("ATTENZIONE: INSERIRE UNA TARGA MANUALE")}


    return correct
    }

    </script>

    ---------------------------------
    Ti ringrazio molto per l'aiuto.

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Pensavo fosse una cosa più semplice a grandi linee nella funzione richiamata dal button dove vuoi aggiungi:
    codice:
    if (document.getElementById("nascosto").style.visibility == "visible" && document.getElementById("targa1")value == "" || document.getElementById("targa2").value == "");
    correct = false; 
    alert("Inserire almeno una targa.");
    }
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7

    ecco.

    Ciao ho visto lo script che mi hai suggerito ti ringrazio e ti chiedo se mi puoi chiarire alcuni dubbi.

    1)
    es: ci vuole l'apice o le "" per dichiarare elementi?
    document.getElementById("nomelivello") oppure
    document.getElementById('nomelivello')??

    2)
    nell'ultimo script che mi hai suggerito non manca una
    { prima di correct?

    tuo script
    -------------------
    if (document.getElementById("nascosto").style.visibil ity == "visible" && document.getElementById("targa1")value == "" || document.getElementById("targa2").value == "");
    correct = false;
    alert("Inserire almeno una targa.");}
    ------------------------------------


    ho provato a unire il tuo suggerimento con la funzione esistente ma è come se ignorasse il la seconda parte della funzione
    -------------------------------------------
    </script>
    <script language="javscript" type="text/javascript">
    <!--
    function check()
    {
    var correct = true
    if (document.form.automezzi.value == 0) {correct = false; alert("ATTENZIONE: INSERIRE UNA TARGA AUTOMEZZI")}

    if (document.getElementById('targa').style.visibility == "visible" && document.getElementById('targamotricem')value == "" || document.getElementById('targarimorchiom').value == "");
    {correct = false;
    alert("Inserire almeno una targa.");
    }
    return correct
    </script>
    -------------------------------------------------------
    grazie in anticipo

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Metti la pagina online, oppure postala qui (usando i tasti # o php) che oggi pomeriggio provo a darci un occhio
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9

    ciao ecco..

    Ciao ti ringrazio per facilitarti un po ti posto le parti incriminate.
    Con questa funzione abilito tramite radiobutton il layer "targa" e disabilito 2 textbox
    lo script funziona.

    1) <SCRIPT LANGUAGE="javascript">

    function veditarga() {
    var rad = document.getElementsByName('pulsante');
    if (rad[0].checked){
    document.getElementById("automezzi").disabled=true
    document.getElementById("automezzir").disabled=tru e
    document.getElementById('targa').style.visibility= "visible";
    } else {
    document.getElementById("automezzi").disabled=fals e
    document.getElementById("automezzir").disabled=fal se
    document.getElementById('targa').style.visibility= "hidden";
    }
    }
    </script>
    -------------------
    questo è il layer targa con e 2 textbox che rendo visibile con i radiobutton sopra.

    <DIV ID="targa" STYLE="position:absolute; visibility:hidden; height:100; width:500px; left: 500px; top: 670px">

    <table width="279" border="0" cellpadding="0" cellspacing="0" class="selezione">
    <tr>
    <td width="137">TARGA MOTRICE </td>
    <td width="258"><input name="targamotricem" type="text" id="targamotricem" size="8" maxlength="8"></td>
    <td width="137">TARGA RIMORCHIO </td>
    <td width="258"><input name="targarimorchiom" type="text" id="targarimorchiom" size="8" maxlength="8"></td>

    </tr>
    </table>
    </div>
    </SCRIPT>
    --------------------
    questo è lo script che mi deve rendere obbligatorie una delle 2 textbox del livello targa se selezionato .

    se vuoi puoi eliminarmi il controllo sul campo automezzi giusto per vedere come funziona lo script per le sole textbox del livello targa
    --------------------------
    <script language="javscript" type="text/javascript">
    <!--
    function check()
    {
    var correct = true
    if (document.form.automezzi.value == 0) {correct = false; alert("ATTENZIONE: INSERIRE UNA TARGA AUTOMEZZI")}
    if (document.getElementById('targa').style.visibility == "visible" && document.getElementById('targamotricem')value == "" || document.getElementById('targarimorchiom').value == "");
    {correct = false;
    alert("Inserire almeno una targa.");
    }
    return correct
    }
    //-->
    </script>

    --------------
    credo che il mio problema stia solo nello script sopra .
    Grazie molto
    Ciao

  10. #10
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Questo funziona
    codice:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Form</title>
    <script language="Javascript">
    <!--
    function veditarga() {
    var rad = document.getElementsByName('radio');
    if (rad[0].checked){
    document.getElementById("invia").disabled=false
    //document.getElementById("automezzi").disabled=true
    //document.getElementById("automezzir").disabled=true
    document.getElementById('targa').style.display="block";
    } else {
    document.getElementById("invia").disabled=true
    //document.getElementById("automezzi").disabled=false
    //document.getElementById("automezzir").disabled=false
    document.getElementById('targa').style.display="none";
    }
    }
    function check()
    {
    /*if (document.form.automezzi.value == 0){
    alert("ATTENZIONE: INSERIRE UNA TARGA AUTOMEZZI");
    return false;
    }*/
    if (document.getElementById('targa').style.display == "block" && document.getElementById('targamotricem').value == "" && document.getElementById('targarimorchiom').value == ""){
    alert("Inserire almeno una targa.");
    return false;
    }
    }
    //-->
    </script>
    <style type="text/css">
    	#box {
    		width: 100px;
    		height: 100px;
    		background: #ccc
    	}
    </style>
    </head>
    <body>
    
    <div id="targa" STYLE="position:absolute; display:none; height:100; width:500px; left: 50px; top: 50px">
    
    <table width="600" border="0" cellpadding="0" cellspacing="0" class="selezione">
    <tr>
    <td width="350">TARGA MOTRICE </td>
    <td width="250"><input name="targamotricem" type="text" id="targamotricem" size="8" maxlength="8"></td>
    <td width="350">TARGA RIMORCHIO </td>
    <td width="250"><input name="targarimorchiom" type="text" id="targarimorchiom" size="8" maxlength="8"></td>
    </tr>
    </table>
    </div>
    <input type="radio" name="radio" id="none" value="none" onclick="veditarga()">chiudi
    <input type="radio" name="radio" id="block" value="block" onclick="veditarga()">mostra
    <input name="invia" type="button" id="invia" value="verifica" onclick="check()" disabled>
    </body>
    </html>
    studiandotelo un attimo sicuramente saprai modificare per integrarlo nella tua pagina.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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