Hi

I was using PHP sessions to create a sticky form but a
button was needed to reload the page.

I am new to Java and I have decided to do away with the button.
Using onChange="javascript:OnChange(this) to cause the
page to reload once a selection is made from a dynamic dropdown works.

The problem is the input box and other dropdown on the same page lose
their information. How can I create a sticky form that is
compatible with onChange?

Thanks

<?
 include("../priority_low_to_high_in.php");//proiority drop down
?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Calendar</title>
<link href="../config.css" rel="stylesheet" type="text/css"/>
<script language="JavaScript" type="text/JavaScript">
<!--
function OnChange(dropdown)
{
  window.location.href="http://localhost/search_form.php?pro_id=" +
  dropdown.options[dropdown.selectedIndex].value;
}


function MM_reloadPage(init) 
 {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
 }
MM_reloadPage(true);
//-->
</script>

<style type="text/css">
<!--

-->
</style>
</head>

<!-----------------------form processor---------------------------->
<form  action="../search_process.php" name="calendar" method="post">

<tr>
 <td>
      <select name= "provider_id" onChange="javascript:OnChange(this);">
       <?   
 	    //display lastname and first name 
 	    provider_first_last_name_display($name, $name_val, $db_id);
       	?>
      </select>
 </td>
</tr>

<tr>
  <td>
    <!---reason input---->
    <input type="text" name="reason" size="30" maxlength="60" value ="<?php echo $reason; ?>">
  </td>
</tr>

<tr>
  <td>
  	 <!--priority dropdown-->
  	 <select name="priority">
	 <?php
	    $priority_name = get_b_priority_name($b_priority_n);
	    $priority_code = get_b_priority_code($b_priority_c);
	    for($n = 1; $n<= 6; $n++)
	        {
		   $sname = $priority_name[$n];
		   $scode = $priority_code[$n];
		   echo "<option value = '$scode'";
		      if ($scode == " ")
		          {
		               echo "selected";
		          }
		   echo "> $sname";
		}
	 ?>
         </select>
  </td>
</tr>
</body>
</from>
</html>

You can do this. <input type="text" name="firstname" value="<?php echo $_POST['firstname']; >?">

Hi

Thanks for responding.

I will try the version of code you seggested

I did tried this before posting but the data was still lost:

<?
  <input type="text" name="reason" size="30" maxlength="60" 
     value="<?php if(! empty($_POST['reason'])){echo $_POST['reason'];} else
                   {echo"$reason";}?>">

?>

It will work. Why are you checking if $_POST is empty ? What is stored in $reason ?

It could be my work, but I find isset() not always as reliable as empty().

I check form field because it is preloaded with information using $reason array.

Then your code seems ok ! I dont see any problem..

Thanks for the suggestions I will try it.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.