Input Nerde Kontrol Edilir ?
-
html part : <form id ="form" onsubmit="return false"> <input type="text" id="test_input" name="test_input" value=" " /> </form> var input = $("#form").serialize(); $.ajax({ url : test.php, data : input, dataType : "json", type : "post", success : function(response) { if (response.error) alert(response.error_msg); else alert(response.success_msg); } }); ----------------- test.php <?php $test_input = trim($_POST["test_input"]); if (empty($test_input)) { $response["error"] = true; $response["error_msg"] = "boş alan bırakıyorsun, ayıp"; } else { $response["error"] = false; $response["success_msg"] = "aferin"; } echo json_encode($response); ?> YA DA if ($.trim($("#test_input")) == "") alert("Boş giriyon"); else ajax call....Şimdi mesela language.php diye bir dosyam var, burda session' a göre tr.php ya da en.php' ye yönleniyor. Burda ben olayı php içinde yapınca hata değerlerini hangi dilde ise o şekilde döndürebiliyorum. Mesela bunu js tarafına aktarmak için, tr.js ve en.js mi yapıcaz ? Nasıl dönüyor bu multi-language olayları ve bir de yukardaki kullanımlar arasında bir fark var mı ?
ozgunlu tarafından 23/Şub/16 16:39 tarihinde düzenlenmiştir -
Hocam, php tarafında çıktıyı dile göre versen olmaz mı?
adam ingilizce oturumda diyelim, php ajax sonucunu "error" türkçe oturumda ise "hata" şeklinde yapmayı denesene. zaten json çıktısını ekrana istediğin gibi bastırırsın.
Projende her bir şeyi tek yerden yönetmeye bak. Yapabiliyorsan tümünü php dosyasından yap. JavaScript tarafında 2 ayrı dosya oluşturmak zor olur senin için. Hele ki projen büyüdükçe kontrolü zor olur.
Ben şöyle yapıyorum genelde
Asp.Net ajax tarafı
strJSON = new fnForm_JSON(); strJSON.strJSON_Basari_Durumu = "basarisiz"; strJSON.strJSON_Hedef_Eleman = ".video-yorum-yaz-kapsul .ad_soyad"; strJSON.strJSON_Bilgi_Mesaji = "Lütfen <strong>ad soyad</strong> giriniz"; listeJSON.Add(strJSON);JavaScript tarafı
/* Video Yorum Yaz (BAŞLANGIÇ) */ jQuery(".video-yorum-yaz-kapsul .buton").click(function () { var strIslem = 'video-yorum-kaydet'; var strAd_Soyad = jQuery.trim(jQuery(".ad_soyad").val()); var strE_Posta = jQuery.trim(jQuery(".e_posta").val()); var strYorum = jQuery.trim(jQuery(".yorum").val()); jQuery.ajax({ url: strAjax_URL, type: 'post', data: 'islem=' + strIslem + '&ad_soyad=' + strAd_Soyad + '&e_posta=' + strE_Posta + '&yorum=' + strYorum + '', dataType: 'json', success: function (strSonuc) { jQuery.each(strSonuc, function (a, b) { var strJSON_Basari_Durumu = b.strJSON_Basari_Durumu; var strJSON_Hedef_Eleman = b.strJSON_Hedef_Eleman; var strJSON_Bilgi_Mesaji = b.strJSON_Bilgi_Mesaji; if (strJSON_Basari_Durumu == "basarisiz") { jQuery("" + strJSON_Hedef_Eleman + "").animate({ "margin-right": "15px", "margin-left": "0px" }, 100); jQuery("" + strJSON_Hedef_Eleman + "").animate({ "margin-right": "0px", "margin-left": "15px" }, 100); jQuery("" + strJSON_Hedef_Eleman + "").animate({ "margin-right": "15px", "margin-left": "0px" }, 100); jQuery("" + strJSON_Hedef_Eleman + "").animate({ "margin-right": "0px", "margin-left": "15px" }, 100); jQuery("" + strJSON_Hedef_Eleman + "").animate({ "margin-right": "15px", "margin-left": "0px" }, 100); jQuery("" + strJSON_Hedef_Eleman + "").animate({ "margin-right": "0px", "margin-left": "15px" }, 100); jQuery("" + strJSON_Hedef_Eleman + "").animate({ "margin-right": "0px", "margin-left": "0px" }, 100); jQuery("" + strJSON_Hedef_Eleman + "").focus(); } if (strJSON_Basari_Durumu == "basarili") { strJSON_Bilgi_Mesaji = "<div class=\"alert alert-success uyari-kapsul\">" + strJSON_Bilgi_Mesaji + "</div>"; jQuery(".iletisim-uyari-alani").html(strJSON_Bilgi_Mesaji); jQuery(".iletisim-uyari-alani").slideDown("slow"); jQuery("" + strJSON_Hedef_Eleman + "").val(''); } if (strJSON_Basari_Durumu == "uyari") { strJSON_Bilgi_Mesaji = "<div class=\"alert alert-warning uyari-kapsul\">" + strJSON_Bilgi_Mesaji + "</div>"; jQuery(".iletisim-uyari-alani").html(strJSON_Bilgi_Mesaji); jQuery(".iletisim-uyari-alani").slideDown("slow"); } }); } }); }); /* Video Yorum Yaz (BİTİŞ) */
ontedi tarafından 23/Şub/16 17:13 tarihinde düzenlenmiştir -
default dili set ettikten sonra ilgili dil kaynaklarını kullanabilirsin
http://stackoverflow.com/questions/228835/best-practice-javascript-and-multilanguage
burada bir kaç örnek mevcut js için
-
ontedi bunu yazdı
Hocam, php tarafında çıktıyı dile göre versen olmaz mı?
adam ingilizce oturumda diyelim, php ajax sonucunu "error" türkçe oturumda ise "hata" şeklinde yapmayı denesene. zaten json çıktısını ekrana istediğin gibi bastırırsın.
Projende her bir şeyi tek yerden yönetmeye bak. Yapabiliyorsan tümünü php dosyasından yap. JavaScript tarafında 2 ayrı dosya oluşturmak zor olur senin için. Hele ki projen büyüdükçe kontrolü zor olur.
Ben şöyle yapıyorum genelde
Hocam ben de böyle yapıyorum da sırf boş olup olmadığını kontrol etmek için bile sunucu tarafında işlem yapmak doğru mu onu merak ettim.
Ama diğer türlü yaparsam da çok karışacak, dediğin gibi tek bir yerde tutmak daha derli toplu yapıyor en azından.
