PDA

View Full Version : استفاده همزمان از کد جاوا اسکریپت و ارزیابی فرم توسط اچ تی ام ال



sina365
جمعه 01 مرداد 1395, 14:09 عصر
سلام به برنامه نویسای جاوا اسکریپت

من یه فرم دارم که برای اینکه مقادیر فرم رو اعتبار سنجی کنم، از خود اچ تی ام ال استفاده کردم.
مثلا برای اینکه حتما پرشده باشه از
required
برای چک کردن ایمیل از
type="Email"
برای چک کردن ورودی عددی از
type="number"
و...

وقتی کاربر دکمه ارسال رو بزنه، خود مرورگر بهش گیر میده فلان جا مشکل داره،
تا اینجا هیچ مشکلی هم نیست و درست کار می کنه.

اما من خواستم که این فرم بدون رفرش کردن صفحه و با جاوااسکریپت ارسال بشه.
اول مقادیر فرم را سریالایز کردم و با فانکشن زیر ارسال کردم:



function loadFile()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("divid").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax-get.php?site=Example&domain=Example.com.ir",true);
xmlhttp.send();
}

این فانکشن هم خوب وسالم کار میکنه و جواب رو هم در دایو مورد نظر چاپ میکنه، اما مشکل من اینه که وقتی از این فانکشن استفاه می کنم دیگه html فرم را ارزیابی نمی کنه و همین جور ارسال می کنه.
حتی این فانکشن رو هم onsubmit کردم اما جواب نمیده.

چجوری همزمان هم مرورگر مقادیر رو ارزشیابی کنه و بعد اگه مشکلی نبود این فانکشن اجرا بشه؟ نمی خوام با جاوا اسکریپت مقادیر رو بررسی کنم.خود مرور گر اینکارو بکنه خیلی بهتره.
با تشکر.

milad_d993
جمعه 01 مرداد 1395, 17:36 عصر
برای ای جکس از jquery استفاده کن

NavidIvanian
جمعه 01 مرداد 1395, 18:56 عصر
سلام
این رو تست کنید:

$("#Form_ID").submit(function(event){
event.preventDefault();
$.get("ajax-get.php",{site=Example,domain=Example.com.ir},function(dat a){
$("#divid").html(data);
});
});