2012-12-29 4 views
0

Le code suivant fonctionne bien dans IE mais pas dans Chrome ou Firefox.Travailler dans IE pas dans Firefox ou Chrome

Si quelqu'un pouvait suggérer les changements, il serait très apprécié.

Le code est dans le lien suivant

http://www.4shared.com/office/HJNhTiwB/123.html

<html xmlns="http://www.w3.org/1999/xhtml&quot;&gt; 
<head runat="server"> 
<title>MRBN Textbox Sample</title> 
<style type="text/css"> 
.MRBN 
{ 
    width:145px; 
    font-family:Verdana; 
    font-size:12pt; 
    font-weight:bold; 
    text-transform: uppercase; 
    color: #EDEBEC; 
} 
</style> 
</head> 
    <script type="text/javascript"> 
     function ValidateText(evnt) { 
      TxtLen = document.getElementById("TxtMRBN").value.length; 
      document.getElementById("TxtMRBN").style.color = "#33CC33"; 
      if (TxtLen < 5) { 
       if ((((evnt.keyCode > 64) && (evnt.keyCode < 91)) || ((evnt.keyCode > 96) && (evnt.keyCode < 123))) != true) { 
        alert("1st letter/1st name +1st 4/last name..."); 
        return false; 
       } 
      } 
      else if (TxtLen == 5) { 
       if (evnt.keyCode != 45) { 
        alert("This needs dash or hyphen here..."); 
        return false; 
       } 
      } 
      else if ((TxtLen > 5) && (TxtLen < 11)) { 
        if (((evnt.keyCode > 47) && (evnt.keyCode < 58)) != true) { 
         alert("Put last 5 of your phone number..."); 
         return false; 
        } 
      } 
      else { 
       alert("5-5. Now give it to Riders & WIN...!"); 
       return false; 
      } 
     } 

    function ClearText() { 
     if (document.getElementById("TxtMRBN").value == "ALPHA-NUMBR") { 
      document.getElementById("TxtMRBN").value = ""; 
     } 
     return false; 
    } 
</script> 
<body> 
    <form id="form1" runat="server"> 
     <div> 
      <input type="text" id="TxtMRBN" class="MRBN" value="ALPHA-NUMBR" onkeypress="return ValidateText(event);" onmousedown="return ClearText();" /> 
     </div> 
    </form> 
</body> 
</html> 

Cordialement

+0

votre code postal ici. – Blender

+0

personne n'attend sur 4shared et ne télécharge pas votre code .. use jsfiddle ou colle ici – geekman

+0

Pourquoi avez-vous du texte devant la balise ''? Et qu'est-ce qui "fonctionne bien"? quelles sont les différences? Et pouvez-vous publier le code HTML résultant (ce que les navigateurs voient) au lieu de la source ASP.NET d'origine? –

Répondre

2

utilisation de ce code son travail dans IE, mozilla, chrome

<html> 
    <head> 
    <title>MRBN Textbox Sample</title> 
    <style type="text/css"> 
    .MRBN 
    { 
     width:145px; 
     font-family:Verdana; 
     font-size:12pt; 
     font-weight:bold; 
     text-transform: uppercase; 
     color: #EDEBEC; 
    } 
    </style> 
    </head> 
     <script type="text/javascript"> 

      function ValidateText(evnt) { 
     var browserName=navigator.appName; 

     if (browserName=="Microsoft Internet Explorer") 
     { 
       TxtLen = document.getElementById("TxtMRBN").value.length; 
       document.getElementById("TxtMRBN").style.color = "#33CC33"; 
       if (TxtLen < 5) { 
        if ((((evnt.keyCode > 64) && (evnt.keyCode < 91)) || ((evnt.keyCode > 96) && (evnt.keyCode < 123))) != true) { 
         alert("1st letter/1st name +1st 4/last name..."); 
         return false; 
        } 
       } 
       else if (TxtLen == 5) { 
        if (evnt.keyCode != 45) { 
         alert("This needs dash or hyphen here..."); 
         return false; 
        } 
       } 
       else if ((TxtLen > 5) && (TxtLen < 11)) { 
         if (((evnt.keyCode > 47) && (evnt.keyCode < 58)) != true) { 
          alert("Put last 5 of your phone number..."); 
          return false; 
         } 
       } 
       else { 
        alert("5-5. Now give it to Riders & WIN...!"); 
        return false; 
       } 
      } 
      else //for firefox and chrome 
      { 
       TxtLen = document.getElementById("TxtMRBN").value.length; 
       document.getElementById("TxtMRBN").style.color = "#33CC33"; 
       if (TxtLen < 5) { 
        if ((((evnt.which > 64) && (evnt.which < 91)) || ((evnt.which > 96) && (evnt.which < 123))) != true) { 
         alert("1st letter/1st name +1st 4/last name..."); 
         return false; 
        } 
       } 
       else if (TxtLen == 5) { 
        if (evnt.which != 45) { 
         alert("This needs dash or hyphen here..."); 
         return false; 
        } 
       } 
       else if ((TxtLen > 5) && (TxtLen < 11)) { 
         if (((evnt.which > 47) && (evnt.which < 58)) != true) { 
          alert("Put last 5 of your phone number..."); 
          return false; 
         } 
       } 
       else { 
        alert("5-5. Now give it to Riders & WIN...!"); 
        return false; 
       } 
      } 
     } 

     function ClearText() { 
      if (document.getElementById("TxtMRBN").value == "ALPHA-NUMBR") { 
       document.getElementById("TxtMRBN").value = ""; 
      } 

     } 
    </script> 
    <body> 

    <form id="form1" > 
      <div> 
       <input type="text" id="TxtMRBN" class="MRBN" value="ALPHA-NUMBR" onkeypress="return ValidateText(event);" onmousedown="ClearText();" /> 
      </div> 
     </form> 
    </body> 
    </html> 
0

Vous devez retourner true dans la fonction ClearText:

function ClearText() { 
    if (document.getElementById("TxtMRBN").value == "ALPHA-NUMBR") { 
     document.getElementById("TxtMRBN").value = ""; 
    } 
    return true; 
} 

Actuellement, return false permet l'action par défaut de l'élément. Donc, dans votre cas, le champ n'a pas pu être ciblé.

Je ne sais pas pourquoi cela fonctionne dans IE. Je suppose que c'est un bug de ce navigateur.

0

changement keycode comme qui et aussi changer onmousedown comme onclick

<html xmlns="http://www.w3.org/1999/xhtml&quot;&gt; 
<head runat="server"> 
    <meta http-equiv="Content-type" content="text/html;charset=UTF-8" /> 
<title>MRBN Textbox Sample</title> 
<style type="text/css"> 
.MRBN 
{ 
    width:145px; 
    font-family:Verdana; 
    font-size:12pt; 
    font-weight:bold; 
    text-transform: uppercase; 
    color: #EDEBEC; 
} 
</style> 
</head> 
    <script type="text/javascript"> 
     function ValidateText(evnt) { 
      TxtLen = document.getElementById("TxtMRBN").value.length; 
      document.getElementById("TxtMRBN").style.color = "#33CC33"; 
      if (TxtLen < 5) { 
       if ((((evnt.which > 64) && (evnt.which < 91)) || ((evnt.which > 96) && (evnt.which < 123))) != true) { 
        alert("1st letter/1st name +1st 4/last name..."); 
        return false; 
       } 
      } 
      else if (TxtLen == 5) { 
       if (evnt.which != 45) { 
        alert("This needs dash or hyphen here..."); 
        return false; 
       } 
      } 
      else if ((TxtLen > 5) && (TxtLen < 11)) { 
        if (((evnt.which > 47) && (evnt.which < 58)) != true) { 
         alert("Put last 5 of your phone number..."); 
         return false; 
        } 
      } 
      else { 
       alert("5-5. Now give it to Riders & WIN...!"); 
       return false; 
      } 
     } 

    function ClearText() { 
     if (document.getElementById("TxtMRBN").value == "ALPHA-NUMBR") { 
      document.getElementById("TxtMRBN").value = ""; 
     } 
     return false; 
    } 
</script> 
<body> 
    <form id="form1" runat="server"> 
     <div> 
      <input type="text" id="TxtMRBN" class="MRBN" value="ALPHA-NUMBR" onkeypress="return ValidateText(event);" onclick="return ClearText();" /> 
     </div> 
    </form> 
</body> 
</html> 
Questions connexes