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

    Help con form validation

    Ciao a tutti.

    il mio form e' composto da un elenco radio e un select.
    I due sono collegati da uno script che azzera uno cuando viene selezionata una qualsiasi voce dall'altro.
    Ho scritto codice per essere sicuro che il form non parta se uno dei due ( select o radio ) non e' selezionato.

    lo script:

    function isEmptyboth(elem,elem1,helperMsg){
    if((elem.value.length == 0) && (elem1.value.length == 0)){
    alert(helperMsg);
    elem.focus();
    return false;
    }

    return true;
    }


    Il form richiama lo script on submit coem segue:

    onSubmit="return isEmptyboth(document.getElementById('IDSELECT'), document.getElementById('IDRADIO'), 'Please Enter a Value')"

    NON FUNZIONA.
    QUALCUNO SA AIUTARMI?????


    Grazie

    Andrea

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    cosa intendi per "Ho scritto codice per essere sicuro che il form non parta se uno dei due ( select o radio ) non e' selezionato"????


    posta anche l'html...

    la funzione e' giusta...ma sbagli il controllo secondo me...
    Che senso ha guardare elem1.value.length == 0 ??? e' un radio button.,.... casomai guarderai se e' checkato ossia elem1.checked==true;


    ciao

  3. #3
    appunto ...se non ricordo male i radio hanno un meccanismo palloso di controllo, tipo:

    codice:
    n=0;
    for (i=0;i<document.forms[0].radios.length;i++) {
    	if (document.forms[0].radios[i].checked) {
    		n = n++;
    	}
    }
    if(n==0) ...
    mentre il select qualcosa del genere:
    codice:
    If(menu.options[menu.selectedIndex].value=='') ...
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  4. #4
    Come richiesto posto anche il codice html.

    Il senso e' che il radio e' da intendersi come un "fast Link" del select.
    Il select comprende tutti gli item mentre il radio da la opportunita' di selezionare al volo gli item piu' richiesti.
    Il form punta ad una pagina di risultati quindi:

    1) i due campi non possono essere entrambi selezionati pena errore nella query seguente quindi ho gia incluso uno script che selezionando il select si cancella la selezione del radio e viceversa.

    2)L'errore si verifica anche quando l'utente "submitte" il form con i due campi non selezionati.
    Da qui l amia esigenza di bloccare con un alert la elaborazione se i due campi non sono selezionati.


    SCRIPT

    // JavaScript Document
    function clearTabSearchRadio(strForm,CLT_Name) {
    var lCnt = eval("document." + strForm)[CLT_Name].length; //eval("document.all['" + CLT_Name + "']").length;
    for (var ii=0; ii<lCnt; ii++)
    eval("document." + strForm)[CLT_Name][ii].checked=false;
    }

    function clearTabSearchBox(strForm,CLT_Name) {
    eval("document." + strForm)[CLT_Name].value=""; //eval("document.all['" + String(strForm) + "']['" + CLT_Name + "'].value=''");
    eval("document." + strForm)[CLT_Name+"_Select"].value=""; //eval("document.all['" + String(strForm) + "']['" + CLT_Name + "_Text'].value=''");
    }

    function isEmpty(elem, helperMsg){
    if(elem.value.length == 0){
    alert(helperMsg);
    elem.focus();
    return false;
    }
    return true;
    }

    function isEmptyboth(elem,elem1,helperMsg){
    if((elem.value.length == 0)&&(elem1.value.length == 0)){
    alert(helperMsg);
    elem.focus();
    return false;
    }
    return true;
    }


    CODICE HTML

    <form action="/assetnow/Letsgo/web/index.cfm/1,546,html" method="get" name="search" onSubmit="return isEmptyboth(document.getElementById('destid'), document.getElementById('destidtop'), 'Please Enter a Value')">
    <table width="320px" align="center" >
    <tr><td colspan="3" align="left" class="formlabel">
    Customer Favourites Destinations:
    </td>
    </tr>
    <tr>
    <td width="30%" align="left"><input type="Radio" onclick='clearTabSearchBox("search","destid")' name="destidtop" id="destidtop" value="2">Cancun</td>
    <td width="30%" align="left"><input type="Radio" onclick='clearTabSearchBox("search","destid")' name="destidtop" id="destidtop" value="1">Acapulco</td>
    <td width="40%" align="left"><input type="Radio" onclick='clearTabSearchBox("search","destid")' name="destidtop"id="destidtop" value="16">Playa del Carmen</td>
    .................................................. ..............................
    </tr>
    </table>
    <table cellpadding="0" cellspacing="0">
    <tr>
    <td class="formlabel">All the Destinations</td>

    <td colspan="2"><select class="destinationlist" name="destid" id="destid" size="1" onChange="clearTabSearchRadio('search','destidtop' )">
    <option>
    <option value="1">Acapulco</option>
    <option value="49">Aguascalientes</option>
    <option value="46">Campeche</option>
    <option value="2">Cancun</option>
    <option value="3">Chiapas</option>
    <option value="48">Chihuahua</option>
    <option value="45">Ciudad del Carmen</option>
    <option value="53">Ciudad Juarez</option>
    .................................................. ............
    </select></td>


    Spero sia tutto chiaro.

    Grazie per l'aiuto

    Andrea

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.