PDA

View Full Version : مشکل با کد if در AJAX



krasus
جمعه 11 مهر 1393, 13:27 عصر
سلام
من یه کد ساده نوشتم که شامل یه فرم هست. کاربر یوزر و پسش رو توی فرم وارد می کنه بعد از اینکه روی دکمه کلیک کرد اگه یوزر و پیش درست باشه برنامه براش می نویسه ok و اگه درست نباشه براش می نویسه no.
حالا مشکل من اینجاست که یه شرط قرار دادم و گفتم اگه نوشته بود ok کادر یوزر رو سبز کن و اگه نوشت no یه رنگ دیگه بکن. اما شرط رو اصلا قبول نمی کنه! نمی دونم مشکل از سینتکس هست یا چیز دیگه!

این کد سمت کاربر :






<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>ارسال و دریافت اطلاعات با متد POST</title>
<script type="text/javascript">
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) { var strrr=xmlhttp.responseText; if(strrr == "ok") { document.getElementById("1").style.border="3px solid #0F0"; } if(strrr == "no") { document.getElementById("1").style.border="3px solid #90C"; } document.getElementById("divid").innerHTML=strrr; } } var username=document.getElementById(1).value;var password=document.getElementById(2).value;
xmlhttp.open("POST","ajax-post.php",true);xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xmlhttp.send("username="+username+"& password="+password);}</script><style type="text/css">body{ font-family:Tahoma, Geneva, sans-serif; font-size:12px; direction:rtl;}</style></head><body><form id="form1" name="form1" method="post" action=""> <p> <label for="1">username : </label> <input type="text" name="1" id="1" /> </p> <p> <label for="2">password : </label> <input type="text" name="2" id="2" /> </p> <button type="button" onclick="loadFile()">چک کردن نام کاربری و کلمه عبور</button></form><p>&nbsp;</p><div id="divid"></div></body></html>



ببخشید اگه ظاهرش بد شد. هر کار کردم درست توی سایت نیفتاد. اگه کد بالا خیلی درهم برهم هست کد زیر رو ببینید که خلاصه هست و مال همون تیکه ایه که مشکل داره :




if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var strrr=xmlhttp.responseText;
if(strrr == "ok")
{
document.getElementById("1").style.border="3px solid #0F0";
}
if(strrr == "no")
{
document.getElementById("1").style.border="3px solid #90C";
}
document.getElementById("divid").innerHTML=strrr;
}



اینم کد سمت سرور :




<?php

$username = $_POST['username'];$password = $_POST['password'];
if($username=='k'&&$password =='k')
echo 'ok';
else
echo 'no';

?>



وقتی به جای عبارت ok و یا no از عدد ۱ و ۰ استفاده کردم و برای شرط نوشتم (strrr == 1) مشکل حل شد ، اما نمی دونم چرا با رشته کار نمی کنه!:عصبانی++:
ممنون میشم اگه راهنماییم کنید و بگین مشکلم از کجاست؟