0

Je travaille sur certains styles de validation de formulaire de base pour un site Web ASP.Net. Je dois sélectionner tous les éléments d'envergure visibles et ajouter un style css à un autre élément. (Juste pour indiquer quels champs d'entrée ne sont pas valides.): sélecteur visible ne fonctionne pas dans Internet Explorer

Le code ci-dessous fonctionne comme un charme dans FF et Safari, mais échoue dans IE. J'ai réduit le problème au sélecteur: visible. Voici le code jQuery.

REMARQUE IMPORTANTE: site de production est en cours d'exécution jQuery 1.3.1 modifications ont été apportées au: sélecteur visible 1.3.2 release notes

$('span.inputError:visible').each(function() { 
      $(this).parent().parent().prev('td').children('label').children('span').css('color','red'); 
     }); 

Voici le rendu HTML, il est destiné à:

<table width="100%" cellspacing="0" cellpadding="3" border="0"> 
      <tbody> 
      <tr> 
       <td valign="top" style="text-align: right;" class="address_labels"> 
        <label><span>*</span> First Name: </label> 
       </td> 
       <td> 
        <span id="ctl00_CMain_txtFirstName_wrapper"><input type="text" style="width: 190px;" invalidstyle="inputError" class="radEnabledCss Input" name="ctl00_CMain_txtFirstName_text" id="ctl00_CMain_txtFirstName_text" size="20" value=" zdogg"><input type="text" value=" zdogg" style="border: 0pt none ; margin: -18px 0pt 0pt; padding: 0pt; overflow: hidden; visibility: hidden; width: 1px; height: 1px;" name="ctl00$CMain$txtFirstName" id="ctl00_CMain_txtFirstName"><input type="hidden" name="ctl00_CMain_txtFirstName_ClientState" id="ctl00_CMain_txtFirstName_ClientState" autocomplete="off"></span> 
        <div> 
          <span style="color: Red; display: none;" class="inputError" id="ctl00_CMain_valFirstName">First name is required</span> 
         </div>   
       </td> 
      </tr> 

     </tbody></table> 
+0

Voir ma "non réponse" Je pense que nous avons besoin de plus d'informations ici. –

Répondre

0

J'ai mis votre code sur: http://jsfiddle.net/BZRWF/1/ en utilisant jquery 1.2.6, et il semble fonctionner (j'ai ajouté un bouton à cliquer pour instancier l'événement). J'ai testé en utilisant IE8 en mode de compatibilité sans problèmes.

J'ai également testé en 1.3.2 et 1.4.2 et ça marche bien là aussi.

Questions connexes