Improve company productivity with a Business Account.Sign Up

x
?
Solved

Ajax return a form using innerHTML

Posted on 2009-05-14
2
Medium Priority
?
779 Views
Last Modified: 2012-05-07
I got two selectboxes and when select each option it returns the ajax data through innerHTML. The ajax data return a complete form including labels,buttons,textfields. This seems to be working but i want to know if its safe or practical to send a complete form via ajax? if not, are there any alternative method i can use to send ajax data into a form? i've attached my code below. please let me know any comments.
************** Ajax code *************
function ajaxFunction(){
 
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){
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var ajaxDisplay2 = document.getElementById('priceDiv');
ajaxDisplay2.innerHTML = ajaxRequest.responseText;
}
}
var prodref = document.getElementById('prodref').value;
var color = document.getElementById('color').value;
var packaging = document.getElementById('packaging').value;
 
var queryString = "?prodref=" + prodref + "&att1=" + color + "&att2=" + packaging ;
ajaxRequest.open("GET", "/includes/php/ajax_shopping_update.php" + queryString, true);
ajaxRequest.send(null); 
//alert(queryString);
}
 
 
***************product.php**********************
<select name="packaging" class="product_formDropdown" onChange="ajaxFunction();">
<option value="">--- Select Packaging ---</option>
<?php 
while($rsatt2 = mysql_fetch_array($rsgetatt2))
{
echo '<option value="'.$rsatt2['packaging'].'">'.$rsatt2['packaging'].'</option>';
}
?>
</select>
<div id='priceDiv'><p><strong>choose options</strong>
 
*******************************************************
*********ajax-shopping-update.php**************
$prodref = $_GET['prodref'];
$color = $_GET['att1'];
$packaging = $_GET['att2'];
 
if ($prodref != "")
{
$query2 = "SELECT * FROM sub_products WHERE prod_ref='".$prodref."' AND attribute1='".$color."' AND attribute2='".$packaging."'";
$result=mysql_query($query2);
$row=mysql_fetch_array($result);
echo '<form method="post" class="product_form" action="shopping_basket.php">
		<h2><strong>Price : ' .$row['price']. '</strong></h2>
		<p>
		<input type="image" src="/images/product-add.gif" value="Submit" class="product_form_button">
		</p>
	</form>';
 
mysql_close();
 
}
*************************************************

Open in new window

0
Comment
Question by:Herci
2 Comments
 
LVL 4

Expert Comment

by:Fugas
ID: 24385349
I'm using prototype.js to make Ajax calls. It also directly supports POST method and to the call you may use only the serialize() method of the form. All you need to know is here http://www.prototypejs.org/
0
 

Accepted Solution

by:
Herci earned 0 total points
ID: 25330483
I managed to solve this by just calling the form containing page through an ajax request display in a DIV
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

There is basically two types of AJAX request in mootools. Request  and Request.HTML Request: Request is the basic XHR request class in MooTools. While not extremely useful on its own, it provides the basic functionality for both Request.HTM…
This article discusses how to implement server side field validation and display customized error messages to the client.
Did you know PowerShell can save you time with SaaS platforms? Simply leverage RESTfulAPIs to build your own PowerShell modules. These will kill repetitive tickets and tabs, using the command Invoke-RestMethod. Tune into this webinar to learn how…
Watch the working video to know how to import Outlook PST/OST files to Amazon WorkMail. Kernel released this tool which is very easy to use and migrate single or multiple PST and OST files to Amazon WorkMail. To know more about Kernel Import PST to …

588 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question