הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   עזרה בהחזרת מידע מ AJAX (https://hosts.co.il/forums/showthread.php?t=103258)

dabi 04-04-13 17:55

עזרה בהחזרת מידע מ AJAX
 
אז ככה
יש לי עמוד HTML שבו גם ה JS
הקוד
PHP קוד:

<!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" lang="he" dir="rtl">
    <
head>

        <
meta http-equiv="content-type" content="text/html; charset=utf-8" />

    </
head>
    <
body>


<
script type="text/javascript">

function 
check_user(str)
{
    
var 
xmlhttp;    
if (
str=="")
  {
  
document.getElementById("txtHint").innerHTML="";
  return;
  }
if (
window.XMLHttpRequest)
  {
  
xmlhttp=new XMLHttpRequest();
  }
else
  {
  
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (
xmlhttp.readyState==&& xmlhttp.status==200
    {
    
document.getElementById("error").innerHTML=xmlhttp.responseText;
    }
  }
  
var 
x=xmlhttp.open("GET","2.php?u="+str,true);
var 
y=xmlhttp.send();
}  


    
</script>



<input type="text"  name="user"  id="aaa" value="a" />
<input type="button" value="check" onclick="check_user(aaa.value)">
 <div id="error"> </div>

  </body>
</html> 

ישבעצם שדה 1 שבו מכניסים טקסט וכפתור ששולח את הטקסט הזה לעמוד 2.php לבדוק האם היוזר הזה קיים
הקוד של העמוד PHP

PHP קוד:

 <?php

include('db.php');

if(isset(
$_GET["u"]))
{
        
$text_get=$_GET["u"];
         
$select_c mysql_query("SELECT user  FROM user WHERE  id='$text_get' ");
        
$read_c mysql_fetch_array($select_c);
        
$user=$read_c['user'];

        if(
$user=='')
            echo
'no';
        else
            echo
'ok';
}
?>

הוא פשוט מקבל טקסט בודק אם הוא קיים במסד ומציג תוצאה-ואם קיים הוא יציג את שם המשפחה שלו
עד כאן הכל עובד
מה שאני רוצה זה בעצם את התוצאה שאני מקבל חזרה לעשות איתה משהו
כרגע זה מדפיס תוצאה או את שם המשפחה
המטרה היא לדוגמא בעמוד INDEX שהצגתי ראשון לשנות ערך של INPUT במידה והוא מצא lastname
כי השורות האלה שאחריות על השליחה
PHP קוד:

var x=xmlhttp.open("GET","2.php?u="+str,true);
var 
y=xmlhttp.send(); 

אחרי שהם מתבצעות אני לא יודע מה הוחזר (המשתמש רק רואה)
בקיצור
המטרה שלי שלאחר סיום הAJAX אם הוא מצא שאכן קיים יוזר כזה שאני יוכל לשנות את הערך של INPUT כלשהו דרך JS בצורה כזאת
PHP קוד:

document.getElementById('sum').innerHTML=('111'); 

ולשים בו את הערך של הוצא מהמסד ולא סתם להדפיס את הערך בדף
איך?
תודה

mayden 10-04-13 14:32

בלי קשר לבעיה שלך - למה אתה לא עובד עם ספריית AJAX ב- jQuery?

בהרבה יותר קל ונוח מאשר כל הבקשות XMLHTTP האלה..

WebsitesDeveloper 10-04-13 16:03

HTML קוד:

<!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" lang="he" dir="rtl">
    <head>

        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
                <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    </head>
    <body>


<script type="text/javascript">
$(document).ready(function() {
        $('#send').click(function() {
                var user = $("#aaa").val();
                $.get('2.php?u=' + user , function(data) {
                        if(data == "ok") {
                                $("#error").html("");
                                $("#result").val(data);
                        } else {
                                $("#error").html("ERROR");
                        }
                });
        });
});
</script>



<input type="text"  name="user"  id="aaa" value="a" />
<input type="button" id="send" value="check" /><br />
<input type="text" id="result" value="שם משתמש..." readonly />
 <div id="error"> </div>

  </body>
</html>

תתחיל לעבוד עם jquery ידידי... ואגב אני ממליץ להוסיף תגית form, ולהחליף את click ב-submit, כלומר רק כששולחים את הטופס שהפעולה תעבוד, ולא רק בלחיצה עם העכבר(תתחשב באלה שלוחצים אנטר וכו'..). אה ואם אתה מחליף את זה ב-submit, תרשום בסוף הפונקציה return false, שלא ירענן את הדף... בהצלחה

DoLet 12-04-13 08:11

ציטוט:

נכתב במקור על ידי WebsitesDeveloper (פרסם 874361)
HTML קוד:

<!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" lang="he" dir="rtl">
    <head>

        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
                <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    </head>
    <body>


<script type="text/javascript">
$(document).ready(function() {
        $('#send').click(function() {
                var user = $("#aaa").val();
                $.get('2.php?u=' + user , function(data) {
                        if(data == "ok") {
                                $("#error").html("");
                                $("#result").val(data);
                        } else {
                                $("#error").html("ERROR");
                        }
                });
        });
});
</script>



<input type="text"  name="user"  id="aaa" value="a" />
<input type="button" id="send" value="check" /><br />
<input type="text" id="result" value="שם משתמש..." readonly />
 <div id="error"> </div>

  </body>
</html>

תתחיל לעבוד עם jquery ידידי... ואגב אני ממליץ להוסיף תגית form, ולהחליף את click ב-submit, כלומר רק כששולחים את הטופס שהפעולה תעבוד, ולא רק בלחיצה עם העכבר(תתחשב באלה שלוחצים אנטר וכו'..). אה ואם אתה מחליף את זה ב-submit, תרשום בסוף הפונקציה return false, שלא ירענן את הדף... בהצלחה

לא בכל מצב כדי Jquery.
דבר שני הקוד שלך פה לא משהו במקום להעביר את הנתונים בשרשור "+" למה לא להעביר בJSON מסודר כמו ש-Jquery מאפשר.

לגבי פותח האשכול בוודאי שאפשר כמו שאני רואה אתה יודע לעשות getElement ואז בסוף פשוט .value = "מה שאתה רוצה"

לדוגמא:

HTML קוד:

document.getElementByID("input").value="Dont Use this username"


כל הזמנים הם GMT +2. הזמן כעת הוא 05:29.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ