2012-06-29 11 views
7

में मैंएचटीएमएल मुद्दों आईई

<div id="wrapper"> 
<div id="page"> 
    <div class="aLogin"> 
     <label>User Name : </label> 
     <input type="text" class="lname" /> 
     <label>Password : </label> 
     <input type="password" class="lpwd" /> 
     <input type="submit" class="logSubmit" value="LOGIN" /> 
     <p class="lalert">test alert</p> 
    </div> 
</div> 

follwing के रूप में प्रवेश के लिए एक एचटीएमएल कोड लिखा है और validation.It के लिए jQuery लिखा चेतावनी की जगह (यहाँ मैं <p class="lalert">test alert</p> प्रयुक्त) गतिशील।
समस्या यह है कि, जब मैं इसे IE में चलाता हूं, तो चेतावनी संदेश दो बार प्रदर्शित होता था। लेकिन अन्य ब्राउज़रों में कोई समस्या नहीं है।

jQuery

$(document).ready(function(){ 
    $('.logSubmit').click(function(){ 
    var name = $('.lname').val(); 
    var pwd = $('.lpwd').val(); 
    $.post("/login.php",{name:name,pwd:pwd}).success(function(data){ 
     var obj = jQuery.parseJSON(data); 
     $('.lalert').fadeIn('slow'); 
     if(obj.success == 1){ 
      $('.lalert').css('color','#067800'); 
      $('.lname').val(''); 
      $('.pwd').val(''); 
      $('.lalert').html(obj.msg); 
     }else{ 
      $('.lalert').css('color','#CC0000'); 
      $('.lalert').html(obj.msg); 
     } 
    }); 
    }); 
}); 

login.php

<?php 
    $name = $_POST['name']; 
    $pwd = $_POST['pwd']; 
    $err['success'] = 0; 
    $err['msg'] = ''; 
    if($name != 'admin'){ 
    $err['msg'] = 'Invalid Name'; 
    }else if($pwd != 'admin'){ 
    $err['msg'] = 'Invalid Password'; 
    }else{ 
    $err['success'] = 1; 
    $err['msg'] = 'Success'; 
    } 
    echo json_encode($err); 
?> 

मैं क्यों हो रहा नहीं मिला सकते हैं। कोई भी मेरी मदद कर सकता हैं..?

+6

jQuery कोड कहां है? – thecodeparadox

+1

पोस्ट करें यह शायद किसी कारण से ईवेंट हैंडलर को दो बार संलग्न करेगा लेकिन बिना किसी jQuery कोड के। –

+0

अपने सभी कोड jsfiddle में डाल दें तो हम अनुमान लगा सकते हैं। – Hardik

उत्तर

0

अंत में मुझे मिल गया solution.The समस्या की वजह से रिक्त पाठ नोड होता है। आईई 8 <input>,<select>,<img> टैग के बाद लाइन ब्रेक के लिए खाली टेक्स्ट नोड उत्पन्न करता है।

मैंने टैग के बाद उस रिक्त स्थान को हटा दिया और अब समस्या हल हो गई

0

$('.logSubmit').unbind('click').click(function(){ .....} 

इस समस्या को हल कर सकते हैं बजाय वाक्य रचना नीचे $('.logSubmit').click(function(){ ...}

उपयोग का उपयोग करने का उपयोग करने के लिए प्रयास करें।

+0

मैंने इस वाक्यविन्यास की कोशिश की और एक ही समस्या उत्पन्न हुई। – vinu

0

जोड़ना पुनः प्रयास करें; आपके .logSubmit -click बाइंडर में। साथ ही, सबमिट सबमिट किए गए इनपुट को < बटन > के साथ प्रतिस्थापित करने का प्रयास कर सकते हैं क्योंकि सबमिट फ़ॉर्म (सबमिटिंग) से संबंधित हैं और यह आपकी स्थिति में नहीं है।

+0

मैंने आपके सुझाव की कोशिश की ... लेकिन समस्या हल नहीं हुई – vinu

+0

** झूठी वापसी; ** खराब अभ्यास और संदिग्ध है - इस संदर्भ में डिफ़ॉल्ट व्यवहार को रोकने का सबसे अच्छा तरीका ** event.preventDefault() ** –

+0

मैं निश्चित रूप से '

1

हाय आप "वापसी झूठी" लिखना भूल गए हैं।

$('.logSubmit').click(function(){ 
    var name = $('.lname').val(); 
    var pwd = $('.lpwd').val(); 
    $.post("/login.php",{name:name,pwd:pwd}).success(function(data){ 
     var obj = jQuery.parseJSON(data); 
     $('.lalert').fadeIn('slow'); 
     if(obj.success == 1){ 
      $('.lalert').css('color','#067800'); 
      $('.lname').val(''); 
      $('.pwd').val(''); 
      $('.lalert').html(obj.msg); 
     }else{ 
      $('.lalert').css('color','#CC0000'); 
      $('.lalert').html(obj.msg); 
     } 
    }); 
     return false; 
    }); 
+1

रिटर्न (गलत) रिटर्न झूठी का उपयोग करना बंद करें: http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/ –

+0

@ हार्मेंट मैंने इस में 'झूठी वापसी' का उपयोग किया मामला .. लेकिन एक ही समस्या फिर से हुई – vinu

+0

@vinu डीबगर डालें और कोड डीबग करें। ताकि आप पता लगा सकें कि अतिरिक्त अलर्ट कहां आ रहा है :-) –

संबंधित मुद्दे