0

hello friends i wanted to use auto populate text box based on another select box using jquery ajax and wanted to pass values of both the check boxes to a php form and insert in db

my code id :

index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="jquerymin.js" type="text/javascript" ></script>
<script>
function dynamic_Select(ajax_page,username)
{
$.ajax({
type: "POST",
url: ajax_page,
data: "ch=" + username,
dataType: "html",
success: function(html){    
$("#demo").html(html); 
}

  }); }
</script>
</head>

<body>
<form method="post" action="insert.php" id="form1">
 <select name="username"  onchange="dynamic_Select('pages.php',this.value);" id="username"  >
 <option value="1">a</option>
 <option value="2">b</option>
 </select>
 <input type="submit" />
 </form>
<div id="demo">

</div>
</body>
</html>

-----------------------
[B]pages.php[/B]

<?php  
ini_set('display_errors', 1);  
error_reporting(E_ALL);  
  require_once 'connection.php';
  $id=$_POST['ch'];
 
?>
							  
	<input type="text" value="<?php echo $id; ?>"  name="abcd" id="abcd"/> 

--------------------------------
[B]insert.php[/B]

<?php

echo "value is :".$_POST['abcd'];

?>

my problem is result is loaded in resultant div tag but when i try to insert into database or display value in php file it says undefined index abcd

Edited by deceptikon: added code tags

3
Contributors
4
Replies
5
Views
5 Years
Discussion Span
Last Post by pzuurveen
0

In your ajax request:
data is always send as GET despite

type: "POST"

so in pages.php use

$id=$_GET['ch'];

even better if you check if there actual is a value

if (isset($_GET['ch'])){
    $id=$_GET['ch'];
    }
else // default or error message

Edited by pzuurveen: n/a

0

Personally, I'd get rid of the inline onchange attribute and have a dedicated handler.

@pzu

Are you sure about the 'post' to 'get' bit? I've always used 'post' and $_POST without any problem. From the jQuery page on .ajax:

type (String)
Default: 'GET'
The type of request to make ("POST" or "GET"), default is "GET". Note: Other HTTP request methods, such as PUT and DELETE, can also be used here, but they are not supported by all browsers.

Edited by diafol: n/a

0

actually i had used same method in some another project it worked without any problem but same thing i am trying its giving error even when i use firebug content is being loaded in the div but when form is submitted it doesnot pass only those values which ajax has returned


just check attachement u can get a clear idea.plz help me out

0

got it from the jquery website
But haven't tested it

data Object, String
Data to be sent to the server. It is converted to a query string, if not already a string. It's appended to the url for GET-requests. See processData option to prevent this automatic processing. Object must be Key/Value pairs. If value is an Array, jQuery serializes multiple values with same key based on the value of the traditional setting (described below).

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.