Jquery'de .Show() Metodu Çalışmıyor
-
Google bunu yazdıSharpShooter bunu yazdıGoogle bunu yazdıSharpShooter bunu yazdı
beyler adam haklı if çalışıyor,
mantığı bilmeden nasıl adama değişkenlerden başla diyebiliyorsunuz?
mantık olarak sayfada bu elemanlar yoksa yani name i txtusername olan bi input yoksa adam hata gösterebilir bu şekilde. aynı şekilde eğer inputların içi boşsada çalışır. bilip bilmeden yorum yapmayalım. javascript bu :)
bi html sayfa yapıp bakın derim :)
mantığı bilmeden derken hocam ?
orda adam belli bir kod satırı vermiş ve klasik bir senaryo olduğunu varsayarak biz bu adama cevap veriyoruz. o kod satırına bakarak senaryonun kullanıcı adı ve şifreyi kontrol edip error çıkardığını varsayıyoruz. sen o inputların orda olup olmamasını bilmeden if in çalıştığını nasıl söyleyebiliyorsun bu durumda ?
bir önceki mesajımda ben zaten koşulun yanlış olduğunu bu durumda çalışmayacağını söylemişim ve koşula 1==1 koyarsa div in açılacağını söyledim ki senin dediğini varsayarsak zaten bu adam o inputları oraya koymasaydı böyle bir hatada almayacaktı ve buraya böyle bir konuda açmayacaktı bu noktada senin kurduğun senaryo mu doğru bizim burda kurduğumuz senaryo mu doğru ?
var username = $("input[name=txtUserName]").val();şu koda bakıp bu adamın bu inputun değerini almayıp element kontrol yaptığını söyleyebiliyorsan şaşırttın beni açıkcası ben daha önce yazdığın mesajlara bakıp çok mantıklı bir şekilde yaklaşmanı beklerdim bu olaya.val() ile inputun valuesunu çağırmış jQuery kütüphanesini kullanarak arkadaki javascript kodunu tahmin edebilirsin yazmaya gerek görmüyorum. eğer o input orda olmasaydı zaten bu noktada kod patlayacaktı ki if e kadar gelmeyecekti. bu yukarıda arkadaşın verdiği kod da ki tüm hata if koşulundadır 100% olarak. bunun en küçük aksini bana ispatla lütfen.
düzeltme : patlamaz bu noktada bi an düşündümde.hocam içi boşsada çalışır, input yoksada çalışır. fark yok aralarında.
ortada yanlış yok sadece kod kalitesi farkı var o kadar. ama bilip bilmeden adama "introduction dan başla" demen yanlış o kadar.
kolay gelsin
bilip bilmeden değil söylediğim gayet mantıklı. kod kalitesi konusunda da haksızsın yukarıdakinde kod kalitesi yok zaten en başta istikrarsız bi durum söz konusu yarısı js yarısı jQuery kütüphanesi. orda yapması gereken tamamını jQuery kütüphanesine uygun yazması kaliteli kod yazması için o istediği value o şekilde if e yazmaması gerek böyle bir mantık kuran adamın değişkenleri anlaması gerekiyor value alıp boolean gibi kontrol ederek kod kalitesi yakalanmaz boolean gibi kontrol edeceksen ona göre elde etmelisin kod kalitesi burda ortaya çıkar zaten.
hocam yeni öğreniyorum jquery'i.. nerde bi kalitesizlik var? şimdiden düzelteyim.. ayrıca ifte sorun yok hocam 1=1 deyince if yerine show yine çalışmıyor if'i değiştirmeden show yerine alert kullanınca alert çalışıyor..
-
Lightsaber bunu yazdı
yav hocalar if'de sorun "YOK" 1=1 yapınca da öyle show yerine aler yapınca çalışıyor mesela. sorun if'te değil ...
o verdiğin koda göre sorun %100 olarak if koşulunda bize sayfanı tamamen at istersen onda olmadığını söylüyorsan senin sayfandaki tek eksik bu değildir o halde. senin o verdiğin kodu aynen html e atıp yaptığım sayfayı atıyorum koşulu 1==1 bak bakalım nasıl çalışıyor.
http://s2.dosya.tc/server24/gSoOKh/test.rar.html
yukarıdaki senin kodların ama olması gereken aşağıdaki gibidir.$(function(){ $("input[name=send]").click(function(){ var username = $("input[name=txtUserName]").val().trim(); var pass = $("input[name=txtUserPass]").val().trim(); if (1==1) { $('.error').show(); } }); }); -
Lightsaber bunu yazdı
hocam yeni öğreniyorum jquery'i.. nerde bi kalitesizlik var? şimdiden düzelteyim.. ayrıca ifte sorun yok hocam 1=1 deyince if yerine show yine çalışmıyor if'i değiştirmeden show yerine alert kullanınca alert çalışıyor..
$(function(){ $("input[name=send]").click(function(){ var username = $("input[name=txtUserName]").val().trim(); var pass = $("input[name=txtUserPass]").val().trim(); if (1==1) { $('.error').show(); } }); });
şu şekilde yazmalısın kodunu temel prensibin az kod çok iş olmalıdır ki zaten jQuery nin amacıda budur. trim etmek için kullandığın iki satırı çıkardım bunun
yerine zincirleme yazdım kodu. dinleme anını nasıl açtığıma da bak neden böyle yapmışım bunları bir araştır. 1=1 dersen zaten çalışmaz bunuda
debug ederek anlarsın if in hemen üstüne debugger; ekle ve firebug vb araçları kullanarak hataları yakalamayı öğren. 1==1 demelisin.
http://docs.jquery.com/ şuradan öğrenebilirsin her istediğini jQuery artık işi çok kolaylaştırıyor. 1 geceni yada bikaç saatini bu dökümantasyona ayır ertesi gün kendi
pluginlerini yazmaya başlarsın. -
Google bunu yazdıLightsaber bunu yazdı
yav hocalar if'de sorun "YOK" 1=1 yapınca da öyle show yerine aler yapınca çalışıyor mesela. sorun if'te değil ...
o verdiğin koda göre sorun %100 olarak if koşulunda bize sayfanı tamamen at istersen onda olmadığını söylüyorsan senin sayfandaki tek eksik bu değildir o halde. senin o verdiğin kodu aynen html e atıp yaptığım sayfayı atıyorum koşulu 1==1 bak bakalım nasıl çalışıyor.
http://s2.dosya.tc/server24/gSoOKh/test.rar.html
yukarıdaki senin kodların ama olması gereken aşağıdaki gibidir.$(function(){ $("input[name=send]").click(function(){ var username = $("input[name=txtUserName]").val().trim(); var pass = $("input[name=txtUserPass]").val().trim(); if (1==1) { $('.error').show(); } }); });hocam yine aynı şey oluyor tıkladığım anda görünüp kayboluyor...tüm sayfa:
<html> <head> <style> .anahat { font-family: Verdana; } .form { margin: 190px; background-color:#D6D8D4; width: 400px; height: 250px; border-radius: 20px; box-shadow: 3px 3px 3px 3px #ccc; } .header { margin: 10px; } .panel { padding: 40px; } .yolla { padding: 20px; } .headkap { border-bottom: 2px solid #ccc; padding-bottom: 5px; } .error { border-radius: 20px; width: 335px; height: 100px; position: absolute; left: 475px; top: 300px; z-index: 500px; display: none; } </style> <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("input[name=send]").click(function(){ var username = $("input[name=txtUserName]").val(); username= $.trim(username); var pass = $("input[name=txtUserPass]").val(); pass= $.trim(pass); if ((!username) || (!pass)) { $(".error").show(); } }); }); </script> </head> <body> <div class="error"> Kullanıcı adı veya şifre boş, lütfen tekrar deneyiniz. </div> <div class="anahat" align="center"> <form method="post" action=""> <div class="form"> <div class="headkap"> <div class="header" align="center"><br> <img src="login.png" align="left"><br> Güvenlik Sistemi Yönetim Paneli </div> </div> <div class="panel"> <table> <tr><td width="150"> Kullanıcı Adı </td><td width="150"> <input type="text" name="txtUserName"></input> </td></tr> <tr><td width="150"> Parola </td><td width="150"> <input type="password" name="txtUserPass"></input> </td></tr> </table> <div align="center" class="yolla"> <input name="send" type="submit" value="Giriş Yap"></input> </div> </div> </div> </form> <div class="footer"></div> </div> </body> </html> -
<input name="send"type="submit"value="Giriş Yap"></input>
type="submit" i kaldır her basışında sayfa yenilenir başa dönersin ikinci sorununda bu. -
Google bunu yazdı
< ="text" name="</code" />"send"type="submit"value="Giriş Yap">
type="submit" i kaldır her basışında sayfa yenilenir başa dönersin ikinci sorununda bu.
onu kaldrınca input'ı kaldırdım button koydum jqueryde input[name= yerine button getirdim ama yine de aynı sorun devam ediyor.. -
Lightsaber bunu yazdıGoogle bunu yazdı
< ="text" name=""send"type="submit"value="Giriş Yap">
type="submit" i kaldır her basışında sayfa yenilenir başa dönersin ikinci sorununda bu.
onu kaldrınca input'ı kaldırdım button koydum jqueryde input[name= yerine button getirdim ama yine de aynı sorun devam ediyor..type="button" yap jquery de sen nameine bakıyosun typeına değil name e göre alıyosun o yüzden jqueryde değişiklik yapmana gerek yok. sadece submiti button yapman yeter.
-
hocam if ini şöyle düzelt sorun düzelir
if (1==1) {
$(".error").show();
return false;
}
unbalanced tarafından 23/Ara/12 18:59 tarihinde düzenlenmiştir
-
Google bunu yazdıLightsaber bunu yazdıGoogle bunu yazdı
< ="text" name=""send"type="submit"value="Giriş Yap">
type="submit" i kaldır her basışında sayfa yenilenir başa dönersin ikinci sorununda bu.
onu kaldrınca input'ı kaldırdım button koydum jqueryde input[name= yerine button getirdim ama yine de aynı sorun devam ediyor..type="button" yap jquery de sen nameine bakıyosun typeına değil name e göre alıyosun o yüzden jqueryde değişiklik yapmana gerek yok. sadece submiti button yapman yeter.
hocam oldu valla çok sağol bi type neleri değiştiriyor :)
