مشکل مرورگر مایکروسافت با این کد جاوا اسکریپت.

phpweb

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

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

راه حل این مشکل چیه؟

HTML:
<html>
<head>
<title>javascript</title>
<script type="text/javascript">
function fTest()
{
    var oText=document.getElementById("input").value.length
    if(oText > 0)
    {
        return true;    
    }
    else
    {
        alert('please inter your email address');
        return false;
    }
}
</script>
</head>
<body>
<form name="form1" method="post" action="">
  email address
  <p>
    <input type="text" name="input" id="input">
  </p>
  <p>
    <input type="submit" name="test" id="test" value="Submit" onClick="return fTest()">
  </p>
</form>
</body>
</html>
 

echessdesign

مدیر انجمن طراحی وب
نمونه کد دیگر، خطایابی وارد کردن آدرس ایمیل در فرم و مقدار صحیح آن:
کد:
<html>
<HEAD>

<SCRIPT type="text/javaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function checkEmail(myForm) {
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(myForm.emailAddr.value)){
return (true)
}
alert("Invalid E-mail Address! Please re-enter.")
return (false)
}
//  End -->
</script>

</HEAD>

<!-- STEP TWO: Copy this code into the BODY of your HTML document  -->

<BODY>


<form onSubmit="return checkEmail(this)">
E-mail Address:<br>
<input type="text" name="emailAddr">
<p>
<input type="submit" value="Submit">
<input type="reset" value="Reset">
</form>

</body>
</html>
 

phpweb

Active Member
نمونه کد دیگر، خطایابی وارد کردن آدرس ایمیل در فرم و مقدار صحیح آن:
کد:
<html>
<HEAD>

<SCRIPT type="text/javaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function checkEmail(myForm) {
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(myForm.emailAddr.value)){
return (true)
}
alert("Invalid E-mail Address! Please re-enter.")
return (false)
}
//  End -->
</script>

</HEAD>

<!-- STEP TWO: Copy this code into the BODY of your HTML document  -->

<BODY>


<form onSubmit="return checkEmail(this)">
E-mail Address:<br>
<input type="text" name="emailAddr">
<p>
<input type="submit" value="Submit">
<input type="reset" value="Reset">
</form>

</body>
</html>

شما درست می گید باید از کنترلگر رویداد onsubmit استفاده کنم.

دوتا سوال:

1- چرا از عبارتهای
کد:
 <!-- Begin
و
کد:
 //  End -->
استفاده کردید؟

2- توی قطعه کد
کد:
"return checkEmail(this)"
کلمه کلیدی this به چه معنی هست؟
 

جدیدترین ارسال ها

بالا