Instalare AJAX - JavaScript

Discutii legate de AJAX, jQuery, MooTools, Prototype, Dojo, Yahoo! UI Library,script.aculo.us, ExtJS,AngularJS, Backbone.js, Ember.js, KnockoutJS

Moderator: Moderatori

ynfonet
Senior Member
Mesaje: 245
Membru din: Mie Dec 14, 2005 8:00 am

Instalare AJAX - JavaScript

Mesajde ynfonet » Sâm Iun 21, 2008 7:23 pm

Buna ziua.
Pe WinXp2002-SP2 cu IE6 am instalat wamp.
Am un formular simplu si vreau sa fac o validare la un cimp, folosind javascript.
La rulare insa nu face nici un test.

Treb sa instalez ceva, sa verific vre-o setare?

Multumesc anticipat.

Scripturile sint urmatoartele:

Script:getobject.js
============

Cod: Selectaţi tot

function getObject() {
  var request;
  try {
    request = new ActiveXObject("Msxml2.XHMLTTP");
  }catch (e){
    try {
     request = new ActiveXObject("Microsoft.XMLHTTP");
   }catch (E){
     request = new XMLHttpRequest();
   }
  }
  if (!request && typeof XMLHttpRequest != 'undefined') {
    try {
     request = new XMLHttpRequest();
   }catch (e) {
     request = false;
   }
  }
  return request;
}


Script: tstfrm3.php
============

Cod: Selectaţi tot

<html>
<head>
   <title>Form -Select- cu validare</title>
   <script type="text/javascript" src="getobject.js"></script>
   <script type="text/javascript" language="javascript">
   <-- <![[CDATA[
      var request;
      function loadInfo(selectObject) {
        var name = selectObject.options[selectObject.selectedIndex].value;
        var url = "http://127.0.0.1/tstfrm/tstfrm3_validate.php?id="+name;
        request = getObject();
        request.onreadystatechange = handleRequest;
        request.open("GET",url,true);
        if (window.XMLHttpRequest)
              request.send(null);
        if (window.ActiveXObject)
              request.send();
      }
      function handleRequest() {
        if (request.readyState() == 4) {
          if (request.status() == 200) {
           document.getElementById("message").innerHTML=request.responseText;
         }else{
           alert ("Datele solicitate nu pot fi cautate:\n"+request.statusText);
         }
        }
      }
      function setFocus() {
        document.form1.physicist.focus();
      }
//      ]]> -->
   </script>
</head>
<body>
<center>
<form name="form1">
<select name="physicist" onChange="loadInfo(this)">
   <option selected>Alege un nume</option>
   <option value="aaa">AAA</option>
   <option value="bbb">BBB</option>
   <option value="ccc">CCC</option>
</select>
</form>

</br></br></br>
<div id="message" name="message"></div>
</center>

</body>
</html>


Script: tstfrm3_validate.php
==================

Cod: Selectaţi tot

<?php
$connect1 = mysql_connect($host,$user_conn,$pasw_conn);
$sel_db1 = mysql_select_db($db,$connect1);

$id = $_GET['id'];
echo "id=".$id."</br>";

if (!empty($id)) {
  $query1 = "SELECT nume AS 'NUME'   FROM nume WHERE TRIM(nume)=TRIM('".$id."')";
  $result_query1 = mysql_query($query1) or die("Query1 esuat._".mysql_errno()."_".mysql_error()."</br>");
  $row1 = mysql_fetch_array($result_query1, MYSQL_BOTH);
  $row1_col = mysql_num_fields($result_query1);
  $row1_row = mysql_num_rows($result_query1);
 
  if ($row1_row == 1) {
    $date="OK";
    echo $date;
  }

}
?>



Avatar utilizator
Copyright
Senior Member
Mesaje: 869
Membru din: Dum Dec 17, 2006 7:24 pm
Localitate: Bucuresti
Contact:

Mesajde Copyright » Dum Iun 22, 2008 6:27 pm

1. Tagurile CDATA se folosesc DOAR atunci cand inserezi taguri script in interiorul tagului BODY, iar in exemplul tau scriptul se afla in sectiunea HEAD.

2. request.readyState si request.status sunt proprietati nu metode.







Later.

ynfonet
Senior Member
Mesaje: 245
Membru din: Mie Dec 14, 2005 8:00 am

Mesajde ynfonet » Dum Iun 22, 2008 7:36 pm

2. request.readyState si request.status sunt proprietati nu metode.


Adica trebuie sa schimb ceva la ele?

Avatar utilizator
mihaitha
Senior Member
Mesaje: 2383
Membru din: Vin Mai 04, 2007 12:40 pm
Localitate: Sibiu
Contact:

Mesajde mihaitha » Lun Iun 23, 2008 10:07 am

Da. Uite diferenta: .proprietate si .metoda(). Get it?

ynfonet
Senior Member
Mesaje: 245
Membru din: Mie Dec 14, 2005 8:00 am

Mesajde ynfonet » Lun Iun 23, 2008 8:36 pm

proprietate = variabila
metoda = functie

Daca nu cer prea mult ai si vre-o sugestie concreta la cum treb. sa arate codurile respective?

Avatar utilizator
Copyright
Senior Member
Mesaje: 869
Membru din: Dum Dec 17, 2006 7:24 pm
Localitate: Bucuresti
Contact:

Mesajde Copyright » Lun Iun 23, 2008 10:24 pm

OK. in layman terms:

1. Elimini tagurile CDATA

2. Elimini parantezele de la request.readyState si request.status

Cod: Selectaţi tot

......................
if (request.readyState == 4) {
          if (request.status == 200) {
..................



Later.

ynfonet
Senior Member
Mesaje: 245
Membru din: Mie Dec 14, 2005 8:00 am

Mesajde ynfonet » Lun Iun 23, 2008 10:58 pm

am facut cum ai zis dar tot nu face nimic

la tine merge?

Avatar utilizator
Copyright
Senior Member
Mesaje: 869
Membru din: Dum Dec 17, 2006 7:24 pm
Localitate: Bucuresti
Contact:

Mesajde Copyright » Lun Iun 23, 2008 11:17 pm

Da.









Later.

ynfonet
Senior Member
Mesaje: 245
Membru din: Mie Dec 14, 2005 8:00 am

Mesajde ynfonet » Mar Iun 24, 2008 10:47 pm

Am reinstalat windows-ul, si am rulat un script de la adr.
http://www.w3schools.com/ajax/ajax_server.asp

testajax.php
========

Cod: Selectaţi tot

<html>
<body>

<script type="text/javascript">
function ajaxFunction() {
  var xmlHttp;
  try {  // Firefox, Opera 8.0+, Safari 
   xmlHttp=new XMLHttpRequest(); 
  }catch (e) {  // Internet Explorer 
   try {
     xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");   
   }catch (e) {
     try {
       xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");     
     }catch (e) {
      alert("Your browser does not support AJAX!");
      return false;
     }
   }
  }
  xmlHttp.onreadystatechange = function(){
    if(xmlHttp.readyState==4){
      document.myForm.time.value=xmlHttp.responseText;
   }
  }
  xmlHttp.open("GET","time.php",true);
  xmlHttp.send(null); 
}
</script>

<form name="myForm">
   Name: <input type="text" onkeyup="ajaxFunction();" name="username" />
   Time: <input type="text" name="time" />
</form>

</body>
</html>


time.php
======

Cod: Selectaţi tot

<?php

$data1 = getdate();
$data2 = $data1['mday'].".".$data1['month'].".".$data1['year'];
echo $data2;

?>


dar tot nu face nimic.

imi afiseaza in bara de stare msg-ul: "Error on page".

Stie cineva ce trebuie sa mai instalez la browser, sau ce treb sa mai fac?

adix
Average Member
Mesaje: 123
Membru din: Mar Oct 02, 2007 11:01 pm

Mesajde adix » Mie Iun 25, 2008 10:41 am

Mie mi-a mers.
Si in IE, si in FF, si in Opera.

Ma gandesc insa sa rulezi scriptul pe localhost sau pe un server, nu cu dbclick pe fisierul html....


Înapoi la “Librarii Javascript”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 28 vizitatori