0

Hello Friends I am using the two forms on asingle php page form1 and form2. i am inserting the value from form1 and retrieving it into form2 into a dropdown. but in form2 it shows me second last inserted data rather than last inserted data. but after refresh the page i get the last inserted data. i don't want to refresh the page. how can we get the values. pls help me friends

2
Contributors
4
Replies
5
Views
5 Years
Discussion Span
Last Post by diafol
0

You can do this via javascript - or if you have to involve a DB to insert the data from form1 before it goes to form2, you'll need to use ajax. Either way, it should only involve a couple of handfuls of js lines, if that.

If using jQuery:

<head>
<script src=" https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
</head>
<body>
<form>
    <input name="text1" id="text1" />
    <select name="drop1" id="drop1">
        <option>first</option>
    </select> 
    <input name="butt" id="butt" type="button" value="ClickMe" />
</form>
<script>
	$('#butt').click(function(){
		var text1 = $("#text1").val();
		var drop1 = $('#drop1');
		alert(text1);
		drop1.append($('<option> </option>').val(1).html(text1));
        });
</script>
</body>

Alternatively you could wrap the js at the bottom with a document.ready and place it in the head section.
Although I've placed both controls in the one form, you could place the dropdown anywhere in the page and it should be updated.

Edited by diafol: n/a

0

Can you tell me how can i use the ajax for sending the data to the form2

0

OK, I'm procrastinating wrt marking my science homework, so may as well:

<script>
	$('#butt').click(function(){
		var text1 = $("#text1").val();
		$.ajax({
  			type: "POST",
  			url: "myajax.php",
  			data: "addop=" + text1,
			cache: false,
  			success: function(rtn){
    			   if(rtn != ''){
		              $('#drop1').append($('<option> </option>').val(1).html(rtn));
			   }else{
		              alert("Could not add option");
			   }
                        }
		});
	});
</script>

***Not tested***

You'll need to pick up the $_POST in the myajax.php file, check and clean it and add it to the DB. If all that is successful, return the text1 data like this:

echo $cleanText1;

THis will be the 'rtn' text in the 'success' option.

Remember to turn off any warnings/errors in the php file, or that output will be included in the dropdown as well!

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.