travisbrown
Technical User
- Dec 31, 2001
- 1,016
I'm playing around with this script, trying to do two things:
1. get the js function to pick up form elements inside spans or divs. If you try the code below, you will notice that it returns abc and def, but not ghi unless you remove the <span>
2. trigger the form action with a button outside the form
note: get.asp is just response.writing the form values. PHP would be
<?
print_r($_GET);
?>
1. get the js function to pick up form elements inside spans or divs. If you try the code below, you will notice that it returns abc and def, but not ghi unless you remove the <span>
2. trigger the form action with a button outside the form
note: get.asp is just response.writing the form values. PHP would be
<?
print_r($_GET);
?>
Code:
<script type="text/javascript" language="javascript">
var http_request = false;
function makeRequest(url, parameters) {
http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Cannot create XMLHTTP instance');
return false;
}
http_request.onreadystatechange = alertContents;
http_request.open('GET', url + parameters, true);
http_request.send(null);
}
function alertContents() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
//alert(http_request.responseText);
result = http_request.responseText;
document.getElementById('myspan').innerHTML = result;
} else {
alert('There was a problem with the request.');
}
}
}
function get(obj) {
var getstr = "?";
for (i=0; i<obj.childNodes.length; i++) {
if (obj.childNodes[i].tagName == "INPUT") {
if (obj.childNodes[i].type == "text") {
getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
}
if (obj.childNodes[i].type == "checkbox") {
if (obj.childNodes[i].checked) {
getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
} else {
getstr += obj.childNodes[i].name + "=&";
}
}
if (obj.childNodes[i].type == "radio") {
if (obj.childNodes[i].checked) {
getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
}
}
}
if (obj.childNodes[i].tagName == "SELECT") {
var sel = obj.childNodes[i];
getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
}
if (obj.childNodes[i].tagName == "TEXTAREA") {
getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
}
}
makeRequest('get.asp', getstr);
}
</script>
<form action="javascript:get(document.getElementByName('myform'));" name="myform" id="myform">
<input type="text" name="abc" value="" />
<textarea name="def"></textarea>
<!-- BEGIN ITEM -->
<span>
<input name="ghi" type="text" class="order" />
</span>
<input type="button" name="button" value="Submit"
onclick="javascript:get(this.parentNode);">
</form>
<br>
<br>
Server-Response:<br>
<span name="myspan" id="myspan"></span>