Dan06
11-03-2008, 07:15 PM
I'm new to ajax and trying to put together code that will use a form and post method to update a database. In my first attempt, I declared and defined variables and had a submit button, when clicked, transfer the variable data - this worked just fine. However, when I tried to have the variables set via form input types, ie text box, radio buttons, etc. it does not work. First, the information typed/select in the form gets appended to the url - which defeats the post method purpose. Second, since the database is not updated, the php coded page seemingly is not receiving the variable information. Can anyone tell me where I've gone wrong? Thanks. Below is the code for the javascript/html components:
<html>
<head>
<title>Update Your Superhero</title>
<script language="javascript">
function sendData(){
var XMLHttpRequestObj = false;
var id;
var newname;
var newpower;
var newweapon;
var newtrans;
var data = "id=" + id + "&" + "newname=" + newname + "&" + "newpower=" + newpower + "&" + "newweapon=" + newweapon + "&" + "newtrans=" + newtrans;
if (window.XMLHttpRequest){
XMLHttpRequestObj = new XMLHttpRequest();
} else if (window.ActiveXObject) {
XMLHttpRequestObj = new ActiveXObject("Microsoft.XMLHttp");
}
if (XMLHttpRequestObj){
var url = "updatinghero.php";
XMLHttpRequest.open("POST", url, true);
XMLHttpRequest.setRequestHeader('Content-type', 'Application/x-www-form-urlencoded');
XMLHttpRequestObj.onreadystatechange = function(){
if(XMLHttpRequestObj.readystate == 4 && XMLHttpRequestObj.status == 200) {
}
}
XMLHttpRequestObj.send(data);
}
}
</script>
</head>
<body>
<form>
Select Id Number:
<input type="radio" id="id" name="id" value="0">0</input>
<input type="radio" id="id" name="id" value="1">1</input>
<input type="radio" id="id" name="id" value="2">2</input>
<input type="radio" id="id" name="id" value="3">3</input>
<input type="radio" id="id" name="id" value="4">4</input>
<input type="radio" id="id" name="id" value="5">5</input>
<input type="radio" id="id" name="id" value="6">6</input>
<br>
Change Name:<input type="text" id="newname" name="newname"></input><br>
Change Power:<input type="text" id="newname" name="newname"></input><br>
Change Weapon:<input type="text" id="newweapon" name="newweapon"></input><br>
Change Transportation:<input type="text" id="newtrans" name="newtrans"></input><br>
<input type="submit" id="submit" name="submit" value="Submit" onClick="sendData()"></input>
</form>
</body>
<html>
<head>
<title>Update Your Superhero</title>
<script language="javascript">
function sendData(){
var XMLHttpRequestObj = false;
var id;
var newname;
var newpower;
var newweapon;
var newtrans;
var data = "id=" + id + "&" + "newname=" + newname + "&" + "newpower=" + newpower + "&" + "newweapon=" + newweapon + "&" + "newtrans=" + newtrans;
if (window.XMLHttpRequest){
XMLHttpRequestObj = new XMLHttpRequest();
} else if (window.ActiveXObject) {
XMLHttpRequestObj = new ActiveXObject("Microsoft.XMLHttp");
}
if (XMLHttpRequestObj){
var url = "updatinghero.php";
XMLHttpRequest.open("POST", url, true);
XMLHttpRequest.setRequestHeader('Content-type', 'Application/x-www-form-urlencoded');
XMLHttpRequestObj.onreadystatechange = function(){
if(XMLHttpRequestObj.readystate == 4 && XMLHttpRequestObj.status == 200) {
}
}
XMLHttpRequestObj.send(data);
}
}
</script>
</head>
<body>
<form>
Select Id Number:
<input type="radio" id="id" name="id" value="0">0</input>
<input type="radio" id="id" name="id" value="1">1</input>
<input type="radio" id="id" name="id" value="2">2</input>
<input type="radio" id="id" name="id" value="3">3</input>
<input type="radio" id="id" name="id" value="4">4</input>
<input type="radio" id="id" name="id" value="5">5</input>
<input type="radio" id="id" name="id" value="6">6</input>
<br>
Change Name:<input type="text" id="newname" name="newname"></input><br>
Change Power:<input type="text" id="newname" name="newname"></input><br>
Change Weapon:<input type="text" id="newweapon" name="newweapon"></input><br>
Change Transportation:<input type="text" id="newtrans" name="newtrans"></input><br>
<input type="submit" id="submit" name="submit" value="Submit" onClick="sendData()"></input>
</form>
</body>