2010-08-03 4 views
5

मुझे क्या चाहिए: फोकस पर, एक इनपुट बॉक्स को छुपाएं() और दिखाएं() द्वारा बदलें।इंटरनेट एक्सप्लोरर, jQuery: इनपुट बॉक्स कूदता/चलता है जब सटीक उसी

मुझे क्या मिलता है: इंटरनेट एक्सप्लोरर (7/8) में, इनपुट बॉक्स फोकस करते समय दाईं ओर कुछ पिक्सेल चलाता है।

  • अन्य ब्राउज़रों (स्पष्ट रूप से) में अच्छी तरह से काम करता है।

    < लिंक कारण के लिए कोई प्रासंगिक नहीं रह गया beeing>

    स्रोत ऊपर लिंक फाइल में उपलब्ध है हटाया:

यहाँ जहां मैं इस समस्या को फिर से बनाया है के लिए एक लिंक है , लेकिन मैं इसे आपकी सुविधा के लिए यहां भी शामिल करूंगा।

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/> 
<meta http-equiv="Content-language" content="en"/> 
<script src="includes/jquery-1.4.2.min.js"></script> 
<script> 
$(document).ready(function(){ 
    $("#index_login_dummy").focus(function(){ 
     $(this).hide(); 
     $('#index_login_dummy2').show().focus(); 
    }); 
}); 
</script> 
<style type="text/css"> 
.input_h {display:none;} 
</style> 
</head> 

<body> 

<div id="index_login"> 
    <form method="post" name="index_login" action="login.php"> 
    <input id="index_login_email" type="text" value="Email" name="email"> 
    <input id="index_login_dummy" type="text" value="Password" name="dummy"> 
    <input id="index_login_dummy2" type="text" class="input_h" value="Password" name="dummy"><input type="submit" class="input_button" value="Login"> 
    </form> 
</div> 

</body> 
</html> 

+1 एक अच्छी तरह से तैयार प्रश्न के लिए +1! ;)

संपादित करें:

जब मैं एक तालिका के रूप में इरादा यह काम करता है में प्रपत्र फ़ील्ड्स डाल दिया। मुझे लगता है कि कभी-कभी आपको इन समाधानों के साथ जाना होगा, लेकिन मुझे यह जानने से नफरत है कि क्यों। हालांकि मैं स्पष्टीकरण के साथ ठीक हूं कि विभिन्न ब्राउज़र फॉर्म इनपुट तत्वों को अलग-अलग आकर्षित करते हैं (और आईई में इनपुट बटन शेष तत्वों को प्रभावित करता है)।

कार्य कोड:

<div id="index_login"> 
    <form method="post" name="index_login" action="login.php"> 
    <table> 
     <tr> 
      <td><input id="index_login_email" type="text" value="Email" name="email"></td> 
      <td><input id="index_login_dummy" type="text" value="Password" name="dummy"><input id="index_login_dummy2" type="text" class="input_h" value="Password2" name="dummy"></td> 
      <td><input type="submit" class="input_button" value="Login"></td> 
     </tr> 
    </table> 
    </form> 
</div> 

उत्तर

2

मुझे लगता है कि समस्या यहाँ "index_login_dummy2 के बीच कोई अंतर नहीं है कि है लगता है "टेक्स्टबॉक्स और सबमिट बटन। यदि आप अपनी .input_h शैली को display:inline; पर बदलते हैं तो आपको समस्या दिखाई देनी चाहिए।

एक समाधान "index_login_dummy2" बॉक्स के दाईं ओर मार्जिन लागू करना है।

.input_h { display:none; margin-right: 4px; } 

चाल चलाना चाहिए।

+0

धन्यवाद, आप शायद समस्या के बारे में सही हैं कि छिपी हुई इनपुट सबमिट बटन के करीब संलग्न है। हालांकि, इसके लिए मार्जिन डालना मेरे लिए काम नहीं करता है। – Mattis

+0

मार्जिन-दाएं इनपुट बटन की ओर पक्ष को सॉर्ट करता है। हालांकि, ईमेल और पासवर्ड इनपुट फ़ील्ड के बीच की जगह अभी भी दूर हो जाती है। और मार्जिन-दाएं इसे अन्य ब्राउज़रों में दूसरी दिशा भी ले जाता है ... :) – Mattis

+0

मैं आपके उत्तर को सबसे सही मानता हूं, समस्या यह सुनिश्चित करती है कि ब्राउज़र फ़ॉर्म इनपुट को कैसे समझता है।मैंने उन्हें एक टेबल में रखा (प्रश्न में कोड दर्ज किया गया) और सब ठीक है। धन्यवाद! – Mattis

1

यह arround अंतराल में कहें, मैं इसे करने की कोशिश की और यह काम करने के लिए

<span>  
<input id="index_login_email" type="text" value="Email" name="email"> 
<input id="index_login_dummy" type="text" value="Password" name="dummy"></span> 
+0

एचएम, मेरे लिए काम नहीं करता है। इससे कोई फर्क नहीं पड़ता कि मैं कहां से शुरू करता हूं और/या अवधि टैग समाप्त करता हूं। – Mattis

1

आईई 9 में इनपुट और चयन तत्वों पर मुझे यह कूद समस्या (स्क्रीन पर बाईं ओर दाईं ओर पीएक्स चलाना) था। मैंने पहले सोचा था कि यह फोकस छद्म चयनकर्ता के कारण था। ऐसा प्रतीत नहीं हुआ। जब मैंने display: inline-block से display:block पर सीएसएस नियम बदल दिया तो कूदने वाले तत्वों की समस्या हल हो गई

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