Mam takie pytanko do szanownych koleżanek i kolegów.
Zapoznaję się z AJAX-em i nie mogę nigdzie znaleźć informacji na temat wysyłania formularza metodą post.
Chodzi mi o sam AJAX bez żadnych ..frameworków''.
Jak wys
Koledze chyba nie o to chodziło, prosił bez takich pomocy.gothye pisze:Poszukaj jquery w Google, fajna wtyczka do tego czego szukasz.
Metoda open obiektu XMLHttpRequest jako pierwszy parametr przyjmuje metodę przesyłania i tam możesz wstawić "POST" XMLHttpRequest
pozdr.
Paweł
Więc jak to zrobić?
[ Dodano: 2009-10-31, 09:49 ]
Znalazłem już rozwiązanie więc podzielę sie fragmentami kodów które mi pomogły:
Tyle wystarczy tym którzy znają podstawy
[ Dodano: 2009-10-31, 09:49 ]
Znalazłem już rozwiązanie więc podzielę sie fragmentami kodów które mi pomogły:
Kod: Zaznacz cały
1.
post.html:
2.
3.
<script type="text/javascript" language="javascript">
4.
var http_request = false;
5.
function makePOSTRequest(url, parameters) {
6.
http_request = false;
7.
if (window.XMLHttpRequest) { // Mozilla, Safari,...
8.
http_request = new XMLHttpRequest();
9.
if (http_request.overrideMimeType) {
10.
// set type accordingly to anticipated content type
11.
//http_request.overrideMimeType('text/xml');
12.
http_request.overrideMimeType('text/html');
13.
}
14.
} else if (window.ActiveXObject) { // IE
15.
try {
16.
http_request = new ActiveXObject("Msxml2.XMLHTTP");
17.
} catch (e) {
18.
try {
19.
http_request = new ActiveXObject("Microsoft.XMLHTTP");
20.
} catch (e) {}
21.
}
22.
}
23.
if (!http_request) {
24.
alert('Cannot create XMLHTTP instance');
25.
return false;
26.
}
27.
28.
http_request.onreadystatechange = alertContents;
29.
http_request.open('POST', url, true);
30.
http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
31.
http_request.setRequestHeader("Content-length", parameters.length);
32.
http_request.setRequestHeader("Connection", "close");
33.
http_request.send(parameters);
34.
}
35.
36.
function alertContents() {
37.
if (http_request.readyState == 4) {
38.
if (http_request.status == 200) {
39.
//alert(http_request.responseText);
40.
result = http_request.responseText;
41.
document.getElementById('myspan').innerHTML = result;
42.
} else {
43.
alert('There was a problem with the request.');
44.
}
45.
}
46.
}
47.
48.
function get(obj) {
49.
var poststr = "mytextarea1=" + encodeURI( document.getElementById("mytextarea1").value ) +
50.
"&mytextarea2=" + encodeURI( document.getElementById("mytextarea2").value );
51.
makePOSTRequest('post.php', poststr);
52.
}
53.
</script>
54.
55.
56.
<form action="javascript:get(document.getElementById('myform'));" name="myform" id="myform">
57.
<textarea id="mytextarea1">my test
58.
1
59.
2
60.
3
Kod: Zaznacz cały
<script type="text/javascript">
function checkempty(theform){
var returnval=true //by default, allow form submission
for (i=0; i<theform.elements.length; i++){
if (theform.elements[i].type=="text" || theform.elements[i].type=="textarea"){
if (theform.elements[i].value==""){ //if empty field
alert("Please make sure all fields are entered") //alert error message
returnval=false //disallow form submission
break //end loop. No need to continue.
}
}
}
return returnval
}
</script>
<form onSubmit="return checkempty(this)">
Name: <input type="text" name="yourname" />
Email: <input type="text" name="email" />
Comments: <textarea name="comments"></textarea>
<input type="submit" value="submit" />
</form>