Am un formular cu validarea fiecarui cimp introdus si vreau sa afisez msg-urile de err (unde e cazul) in dreptul fiecarui cimp.
in linia:
Cod: Selectaţi tot
document.getElementById('showFailed").innerHTML = xmlHttp.responseText;
vreau ca 'showFailed' sa fie denumirea fiecarui cimp.
Am incercat diferite variante dar nu a mers.
Cum treb sa fac sa preiau var "fid" si 'showFailed' sa devina fid+"Failed"?
Iar atunci cind nr exista deja in DB vreau sa afisez datele direct in formular, la inceput inactive, iar daca apas un buton "MODIFICARE" ele sa devina active pt a putea fi modificate.
Si pt a schimba metoda GET cu POST mai treb sa setez ceva?
Multumesc anticipat.
Index.php
==========
Cod: Selectaţi tot
<html>
<head>
<script type="text/javascript" src="../getobject.js"></script>
<script type="text/javascript" language="javascript">
function validateField(fieldID,fieldValue){
var fid = fieldID;
var fval = fieldValue;
xmlHttp = createXmlHttpObject();
var url = "validate.php";
url = url+"?fid="+fid+"&fval="+fval;
xmlHttp.onreadystatechange = stateChange;
xmlHttp.open("GET",url,true);
xmlHttp.send();
} //END function validateField
function stateChange(){
if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
document.getElementById('showFailed").innerHTML = xmlHttp.responseText;
}
} //END functionstateChange
</head>
<body>
<?php
if (!isset($_SESSION['int'])) {
$_SESSION['int']['txtNr'] = "";
$_SESSION['int']['txtNume'] = "";
$_SESSION['int']['txtProdus'] = "";
}
?>
<table border=1>
<tr><td>Numar</td><td><input id="txtInr" name='txtInr' type='text' onblur="validateField(this.id,this.value)" value="<?php echo $_SESSION['int']['txtNr']; ?>" />
<span id="txtInrFailed" ></span>
</td></tr>
<tr><td>Nume</td><td><input id='txtInume' name='txtInume' type='text' onblur="validateField(this.id,this.value)" value="<?php echo $_SESSION['int']['txtNume']; ?>" />
<span id="txtInumeFailed" ></span>
</td></tr>
<tr><td>Produs</td><td><input id='txtIprodus' name='txtIprodus' type='text' onblur="validateField(this.id,this.value)" value="<?php echo $_SESSION['int']['txtProdus'] ?>" />
<span id="txIprodusFailed" ></span>
</td></tr>
</table>
</body>
</html>
validate.php
=============
Cod: Selectaţi tot
<?php
$showError="";
function validateNr($fid,$fval){
$q1 = "SELECT nrt AS 'NR',nume AS 'NUME',produs AS 'PRODUS' FROM tabel1 WHERE nr=".$fval."";
$r_q1 = mysql_query($q1) or die ("Q1 esuat._".mysql_errno()."_".mysql_error()."</br>");
$r1 = mysql_fetch_array($r_q1,MYSQL_BOTH);
$r1_r = mysql_num_rows($r_q1);
$r1_c = mysql_num_fields($r_q1);
if ($r1['NR'] == $fval){
$showError = "Nr. ".$fval." este deja introdus.";
}else{
$showError = "";
}
return $showError;
} //END function validateNr
if (isset($_GET['fid'],$_GET['fval'])){
$fid = $_GET['fid'];
$fval = $_GET['fval'];
switch($fid):
case "txtInrcontract":
valitateNr($fid,$fval);
break;
case "txtInume":
valitateNume($fid,$fval);
break;
case "txtIprodus":
valitateProdus($fid,$fval);
break;
}
echo $showError;
?>
getobject.js
=============
Cod: Selectaţi tot
function createXmlHttpObject(){
var xmlHttp;
try { // Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
}catch(e){ //Internet Explorer
try{
xmlHttp = new ActiveObject("Msxml2.XMLHTTP");
}catch(e){
try {
xmlHttp = new ActiveObject("Microsoft.XMLHTTP");
}catch(e){
alert ("Your browser does not support AJAX!");
return;
}
}
}
return xmlHttp;
} //END function GetXmlHttpObject