Jump to content
php.lv forumi

Recommended Posts

Posted

Forma tiek ielādēta ar AJAX palīdzību. Formā lietotājs veic izmaiņas un saglabā. Update Mysql tabulā notiek, bet pēc update AJAX neielādē laboto saturu, tikai pēc atkārtotas formas atvēršanas labotā informācija tiek ielādēta. Kāpēc tā? Zemāk ir parādīti kods:

update.php

 

<?php
seit izpildas mysql update, kad tiek labota forma
?>
<script language="JavaScript" src="js/functions.js?<?php echo time(); ?>"></script>
<script language="JavaScript" src="js/calendar.js"></script>
<img src="pic/t.gif" width="1" height="1" border="0" onLoad="LoadCheck('<?php echo $aid; ?>', '<?php echo $user_id; ?>', '<?php echo $type; ?>');" />
<div id="saturs"></div>

 

functions.js

function LoadCheck(aid, anketetajs, type)
{
var ajaxRequest;  // The variable that makes Ajax possible!
try{
	// Opera 8.0+, Firefox, Safari
	ajaxRequest = new XMLHttpRequest();
} 
catch (e)
{
	// Internet Explorer Browsers
	try
	{   ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
	} 
	catch (e) 
	{
		try
		{   ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
		} 
		catch (e)
		{
			alert("Jūsu internetpārlūkprogramma neatbalsta AJAX!");
			return false;
		}
	}
}
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function()
{
	if(ajaxRequest.readyState == 4)
	{
		var ajaxDisplay = document.getElementById('saturs');
		ajaxDisplay.innerHTML = ajaxRequest.responseText;
	}
	else
	{
		var ajaxDisplay = document.getElementById('saturs');
		ajaxDisplay.innerHTML = '<br /><br /><table align="center" style="color: red;"><tr><td><img src="pic/load.gif" width="14" height="14" alt="Lūdzu uzgaidiet" /></td><td>Lūdzu uzgaidiet! Notiek datu ielāde!!!</td>	</tr></table>';
	}
}
var aid = aid;
var user = user_id;
var type = type;
var queryString = "?aid=" + aid + "&user_id=" + user_id + "&type=" + type;
ajaxRequest.open("GET", "include/LoadContent.php" + queryString, true);
ajaxRequest.send(null); 
}

Posted (edited)

A kur ir pats formas kods ?

 

Bet vispār - AJAX izsauktais skripts visticamāk vienkārši neatgriež HTML vajadzīgo.

Edited by andrisp
Posted (edited)

Lūk:

 

<?php
$user_id = trim($_GET['user_id']);
$aid = trim($_GET['aid']); 
$type = trim($_GET['type']); 

include("conn.php");

?>
<form method="post" name="forma" action="update.php">
<table class="text" cellspacing="0" cellpadding="0" border="0" style="width:700px;">
<tr>
<td >
<?php
$sql="SELECT * FROM table where aid = '$aid' and user_id = '$user_id' and type = '$type'";
$vaicajums=mysql_query($sql);
$numrow = mysql_num_rows($vaicajums);
while($row = mysql_fetch_array($vaicajums)) 
{	

	$ok = $row["ok"];
	$vertiba = $row["vertiba"];

	$mid = $row["mid"]; 
	$field_name = $row["field_name"]; 
	$field_type = $row['field_type'];

	$j=$j+1;

	if($field_type=="1") { $lauka_tips = "<input type=\"text\" style='width: 250px' value=\"$vertiba\" name='$mid'/>"; }
	elseif($field_type=="2") { $lauka_tips = "<textarea rows=\"3\" cols=\"70\" name='$mid'>$vertiba</textarea>";  }

	echo "<TR>
		 <TD width=\"200\" valign=\"top\">$field_name</TD>
		<td valign=\"top\">$lauka_tips</td>
		 </TR>";
	</table>
<?php } ?>
</td>
</tr>		
</table>
</form>

Edited by Dooling
Posted

Forma tiek ielādēta ar AJAX palīdzību. Sākumā atveras update.php un pēc submita arī tiek atvērta update.php lapa

Posted (edited)

Un iekš include/LoadContent.php ir tas formas kods, ja ?

 

Ā, un kas īsti tiek atvērts "ajaxīgajā daļā" pēc submita ? Forma, bet ar vecajiem datiem ?

Edited by andrisp
Posted (edited)

include/LoadContent.php - ir formas kods.

Pēc submita tiek atvērta tā pati lapa un ajaxīgajā daļā atkal tiek ielādēta forma.

 

Reizēm ir ka uzreiz pēc submita tiek ielādēti labotie dati, citreiz atverot no jauna tikai tiek ielādēti labotie dati, gadās arī ka divreiz ielādējot tiek ielādēti labotie dati. Varbūt kaut kas tiek iekešots un tāpēc dati neielādējas uzreiz pēc submita.

Edited by Dooling
×
×
  • Create New...