Jump to content

[SOLVED] updating a dropdown list after ajax enabled event


fxr

Recommended Posts

ok i have some php code embedded in my html that populates a dropdown list with entries from a mysql.

 

now i need to think how i am going to repopulate that list [i.e pretty much rerun that segment of php code to update the dropdown list] when an ajax enabled action occurs.

 

i have the ajax sorted for other types of updates, but i cant think through the logic for how i am going to update that list after these other events happen. [the dropdown list options need to change after these updates occur]

 

i am using the prototypejs library

 

i will post relevant sections of code..

 

	

<script type="text/javascript">
function sendRequestClose() {

	new Ajax.Request("sendmailclose.php", {
        method: 'post',
	postBody: "tradeID="+$F("tradeID")+"&closeprice="+$F("closeprice"),
		  
		 onLoading: showLoading, //have to add alert

		 onSuccess: function(transport){
		    var response = transport.responseText || "no response text";
		    alert("Success! \n\n" + response);
										    },
		     
	       onFailure: function(){ alert('NO EMAILS SENT - NO RESPONSE FROM SERVER') },

	      onComplete: hideLoading	}

						);

	}
</script>
....

<p>
CLOSE TRADE : 
<!-- PHP -->
<?php
// Make a MySQL Connection
mysql_connect("localhost", "ssss", "sssss")or die(mysql_error());
mysql_select_db("db")or die(mysql_error());		
$result = @mysql_query("SELECT ID,open_time,pair,open_price,LS FROM log_open");

print "<select name=\"tradeID\" id=\"tradeID\">";
while ($row = mysql_fetch_assoc($result)) {
	$tradeID = $row['ID'];
	$opentime = $row['open_time'];
	$pair = $row['pair'];
	$price = $row['open_price'];
        if ($pair == "eu") {$price = round($price,4);} else {$price = round($price,2);}
	$LS = $row['LS'];
	print "<option value=$tradeID id=$tradeID>$tradeID $LS $pair $price $opentime";}
	print "</select>";
	?>
price <input name="closeprice" id="closeprice" type="text" size ="7">

<input type="submit" value="CLOSE" name="submit" onClick="javascript: sendRequestClose();"> 
</p>

 

I need that dropdown list generated by the php to be recreated after the sendRequestClose javascript is called.

 

Can anyone point me in the right direction please? i am a relative newbie at this and i am struggling to get a grasp of the logic what i have to do here.

 

Thhnaks.

Link to comment
Share on other sites

Looks like you're using a javascript framework. Is that mootools?

 

yeah its prototype..

 

i have worked on this overnight and worked out that using innerHTML was my avenue to success. ll post my code for anyone who may stumble on this or be interested.

 

Relevant snippets of code.

 

<script type="text/javascript">
function DLChange(newHTML){
 document.getElementById('tradeID').innerHTML = newHTML;
	 }

function sendRequestClose() {

   new Ajax.Request("sendmailclose.php", {
		method: 'post',
		postBody: "tradeID="+$F("tradeID")+"&closeprice="+$F("closeprice"),
		   
		onLoading: showLoading, //have to add alert
			  
		onSuccess: function(transport){
				 var response = transport.responseText || "no response text";
				 var responder=response.split("<!-- DL -->");

				 alert("Success! \n\n" + responder[0]);
				 DLChange(responder[1]);

											 },
			  
		 onFailure: function(){ alert('NO EMAILS SENT - NO RESPONSE FROM SERVER') },

		 onComplete: hideLoading	}

						 );

	 }
</script>

....

CLOSE TRADE : 
<select name="tradeID" id="tradeID">
<!-- PHP -->
  <?php
   include 'opentrades.php';
   ?>

 

opentrades.php looks like this and is included at the bottom of my sendmailclose.php script.

 

<?php
	// Make a MySQL Connection
	mysql_connect("localhost", "ssss", "sssss")or die(mysql_error());
	mysql_select_db("db")or die(mysql_error());		
	$result = @mysql_query("SELECT ID,opentime,pair,openprice,LS FROM logopen");
	 print "<!-- DL -->";
	 while ($row = mysql_fetch_assoc($result)) {
		$tradeID = $row['ID'];
		$opentime = $row['open_time'];
		$pair = $row['pair'];
		$price = $row['open_price'];}
		$LS = $row['LS'];
		print "<option value=$tradeID id=$tradeID>$tradeID $LS $pair $price $opentime";}
		print "</select>";
		?>

 

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.