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

    Problema validazione Form con Javascript

    il mio codice html č questo..
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Cache-Control" content="no-cache"/>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script language="JavaScript" type="text/javascript" src="validate.js"></script>
    </head>
    <body>
    <h3>Inserimento Contratti</h3>
    <form name="inscontratti" action="index.php" method="POST" onSubmit="return validateForm(this, true);" >
    <fieldset>
      <legend>Cliente</legend>
      <div class="riga">
        <label for="idcliente_">Cliente *</label>
        <select name="idcliente_">
          <option> Seleziona Cliente</option>
          <option value="1">aaaaaaaaaaa</option>
          <option value="2">bbbbbbbbbb</option>
        </select>
      </div>
    </fieldset>
    <fieldset>
      <legend>Contratto</legend>
      <div class="riga">
      <label for="TTT_nome">Nome *</label>
      <input type="text" id="TTT_nome" name="TTT_nome" />
      </div>
      <div class="riga">
      <label for="importo_">Importo *</label>
      <input type="text" id="importo_" name="importo_" />&euro;
      </div>
      <div class="riga">
      <label for="importofideiussione">Importo Fideiussione</label>
      <input type="text" id="importofideiussione" name="importofideiussione" />&euro;
      </div>
    </fieldset>
    <div>
    <input name="inserisci" type="image" alt="inserisci contratto" src="inserisci.png" />
    </div>
    </form>
    </body>
    </html>
    e il javascript annesso č:

    codice:
    function validateForm(frm, bolAlert) {
    
    var elem = frm.elements;
    // Loop all elements
    for (var i = 0; i < elem.length; ++i) 
    	{
        // If element is required see if it's filled in
        // Check for special condition
        if (elem[i].name.indexOf("_") > 1) 
    		{
        		// Text
          		if ((elem[i].type=="text")||(elem[i].type=="password"))
    				{
            			if (elem[i].value==""&&elem[i].style.display!="none") 
    						{
              					elem[i].className = "text_err";
              					if(bolAlert) alert("Compilare i campi obbligatori");
              					elem[i].focus();
              					return false;
            				} 
    					else 
    						{
              					elem[i].className = "text";
    						}
          			}
          else if (elem[i].type=="radio") 
    	  			{
          				// Radio
            			var radiogroup = elem[elem[i].name];
            			var itemchecked = false;
            			for(var j = 0 ; j < radiogroup.length ; ++j) 
    						{
              					if(radiogroup[j].checked) 
    								{
                						itemchecked = true;
                						break;
              						}
            				}
            			if(!itemchecked) 
    						{ 
              					if(bolAlert) alert("You must check one option for "+elem[i].name);
              					if(elem[i].focus) elem[i].focus();
              					return false;
            				}
          			}
    
          else if (elem[i].type=="select-one") 
    	  			{
          				// Select-one
            			if (elem[i].selectedIndex==0) 
    						{
              					elem[i].className = "select_err";
              					if(bolAlert) alert("You must choose "+elem[i].name);
              					elem[i].focus();
              					return false;
            				} 
    					else 
    						{
            					elem[i].className = "select";
      						}
          			}
    
        	}		
      }
      return true;
    }
    
    function gotFocus(elem) {
    	if (elem.className.indexOf("_err") < 0) {
    		if (elem.type=="text") {
    			elem.className = "text_focus";
    		} else if (elem.type=="textarea") {
    			elem.className = "textarea_focus";
    		} else if (elem.type=="select-one") {
    			elem.className = "select_focus";
    		} else if (elem.type=="select-multiple") {
    			elem.className = "select_focus";
    		}
    	}
    }
    
    function lostFocus(elem) {
    	if (elem.className.indexOf("_err") < 0) {
    		if (elem.type=="text") {
    			elem.className = "text";
    		} else if (elem.type=="textarea") {
    			elem.className = "textarea";
    		} else if (elem.type=="select-one") {
    			elem.className = "select";
    		} else if (elem.type=="select-multiple") {
    			elem.className = "select";
    		}
    	}
    }
    
    function elemCond(elem, val, id, req) {
    	var justDoIt = false;
    	
    	if (elem.type=="select-one") {
    		if (elem[elem.selectedIndex].value==val) justDoIt = true;
    	}
    	else if (elem.type=="select-multiple") {
    		for(var j=0;j<elem.options.length; ++j) {
          		if (elem.options[j].selected) {
          			if (elem.options[j].value==val) justDoIt = true;
          		}
          	}
    	}
    	else if(elem.type=="radio"||elem.type=="text"||elem.type=="textarea"||elem.type=="checkbox") {
    		if (elem.value==val) justDoIt = true;
    	}
    	
    	if (justDoIt) {
    		var frm = document.forms;
    		for (var i=0;i<frm.length; i++) {
    			for (var j=0;j<frm[i].length; j++) {
    				var ele = frm[i].elements[j];
    				if (ele.id==id) {
    					if (req) { ele.name = id+'*'; } else { ele.name = id; }
    				}
    			}
    		}
    	}
    }
    l'errore che mi esce con la console degli errori di firefox č

    elem[i].name has no properties

    qualcuno sa aiutarmi e dirmi come cambiare il javascript??



    tnx

  2. #2

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.