PDA

View Full Version : اجرا نشدن شرط ها



mahmood3d
یک شنبه 01 آذر 1388, 19:18 عصر
سلام دوستان
من توی یک صفحه پی اچ پی برای چک کردن اینکه تمامی ورودی ها مقدار دهی شدن یا نه یک تابع نوشتم که توی این تابع دونه دونه مقادیر چک میشه و هر کدوم از اینها با یک دستور if چک میشه. اگر شرط داخل دستور if درست بود که کدها درست اجرا میشن ولی فقط کافیه که شرط یکی از اینها درست نباشه (یعنی یکی از if ها اجرا نشه) که در نتیجه تمامی if های دیگه هم اجرا نمیشن؟
دلیل این عمل چی می تونه باشه؟
چون من علاوه بر اینکه دونه دونه مقادیر رو چک می کنم که از پر بودن اونها مطمئن بشم بعضی از مقادیر هم باید چک بشه که مقدار درست داخلشون وارد شده. مثل کلمه عبور و تکرار کلمه عبور.
من کدهایی رو که نوشتم رو اینجا قرار می دم تا بهتر بتونین راهنماییم کنین.
هر کی دلیلش رو می دونه سریعتر جواب بده.
ممنون




<script language="javascript" type="text/javascript">
<!--
function register_valid(){
var msg="";
if (document.getElementById("user").value=="" || document.getElementById("user").value==NULL){
msg = msg + " - نام کاربری\n";
}else{};


if (document.getElementById("pass").value=="" || document.getElementById("pass").value==NULL){
msg = msg + " - کلمه عبور\n";
}


if (document.getElementById("name").value=="" || document.getElementById("name").value==NULL){
msg = msg + " - نام خودتان\n";
}


if (document.getElementById("email").value=="" || document.getElementById("email").value==NULL){
msg = msg + " - آدرس ایمیل\n";
}
if (msg!=""){
alert("شما باید موارد زیر را تکمیل نمایید:\n" + msg);
return false;
}

if (document.getElementById("pass").value != document.getElementById("pass2").value){
alert("\"کلمه عبور\" باید با \"تکرار کلمه عبور\" برابر باشد");
return false;
}
}
-->
</script>

mahmood3d
یک شنبه 01 آذر 1388, 19:20 عصر
در ضمن من می خوام نوشته هایی که در صفحه اعلام پیام (alert) نشون داده میشه به صورت راست به چپ باشه. اگه ممکنه نحوه نوشتن مطالب به صورت rtl داخل alert رو هم بگین.

mohsenshahab
دوشنبه 02 آذر 1388, 13:25 عصر
شما باید یه if استفاده کنی و بقیه elseif باشه

mahmood3d
دوشنبه 02 آذر 1388, 22:05 عصر
خوب اونوقت بازم فقط یکی از اونها اجرا میشه و بعد از اجرا شدن یکی بقیه اجرا نمیشن.
من می خوام شرط هر قسمتی رو چک کنه و اگه درست بود دستورات اون بخش رو اجرا کنه.
مثلا تو چند تا شرط اول گفته که هر کدوم از فیلدها خالی بود توی یک متغیر اسم اون فیلد رو قرار بده و در آخر با نشون دادن پیام بگه که این فیلدها خالی هستند.
اگه اون چیزی که شما می گید رو بنویسم بالفرض اینکه کاربر نام کاربری رو تایپ نکرد فقط توی یک متغیر اسم نام کاربری قرار می گیره و کار خاصی رو اجرا نمی کنه چون دستورات نمایش پیام به کاربر توی شرط دیگه بررسی و اجرا میشه.
کمی به اصول کدها توجه کنی متوجه منظور من از اجرای این کد میشی

angel_boy013
دوشنبه 02 آذر 1388, 23:42 عصر
از jquery استفاده کن راحت تره

مثال : http://net.tutsplus.com/javascript-ajax/submit-a-form-without-page-refresh-using-jquery/

mahmood3d
سه شنبه 03 آذر 1388, 09:54 صبح
من تا حالا از jquery استفاده نکردم.
اگه میشه بگید کد بالا چه اشکالی داره

eAmin
چهارشنبه 04 آذر 1388, 01:39 صبح
سلام.

لطفا به تاپیک زیر مراجعه کنید:
http://barnamenevis.org/forum/showthread.php?t=153715

afshin9032
دوشنبه 23 آذر 1388, 00:20 صبح
سلام
كد شما را با عرض پوزش :لبخند: كمي دستكاري كردم از كد زير استفاده كنيد :
در چك كردن عناصر فرم مقدار null معنايي ندارد



<script language="javascript" type="text/javascript">
<!--
function register_valid(){
var msg="";
if (document.getElementById("user").value=="")
msg += " - نام کاربری\n";
if (document.getElementById("pass").value=="")
msg += " - کلمه عبور\n";
if (document.getElementById("name").value=="")
msg += " - نام خودتان\n";
if (document.getElementById("email").value=="")
msg += " - آدرس ایمیل\n";
if (msg!=""){
alert("شما باید موارد زیر را تکمیل نمایید:\n" + msg);
return false;
}
if (document.getElementById("pass").value != document.getElementById("pass2").value){
alert("\"کلمه عبور\" باید با \"تکرار کلمه عبور\" برابر باشد");
return false;
}
}
-->
</script>