Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 02.09.2010, 19:53
Benutzerbild von TobyZ23NM8
TobyZ23NM8 TobyZ23NM8 ist offline
Nyaaa~~
neuer user
Thread-Ersteller
 
Registriert seit: 12.10.2007
Ort: Schweiz
Beiträge: 77
TobyZ23NM8 befindet sich auf einem aufstrebenden Ast
Standard AJAX - Formular erweitern

Hallo allerseits

Ich bin ziemlicher Anfänger was AJAX anbelangt und bin einige Tests am durchführen.
Ich schreibe gerade ein Script, das ein Formular, um weitere Felder erweitern soll, sobald der Submit Button gedrückt wird.

Dies habe ich mir so gedacht:
In meinem Formular gibt es in einem Div versteckte Formularfelder. Sobald der Button gedrückt ist, wird der Inhalt von display:none (CSS) mit "" ersetzt und somit angezeigt.

Hier der HTML Code:
HTML-Code:
<div>

	<h1>Extend a Form</h1>

    

    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

    	<fieldset>

        	<legend>User</legend>

        	

            <label for="name">Name</label>

        	<input id="name" type="text" name="name" /><br />

        	<br />

        

        	<label for="pass">Pass</label>

        	<input id="pass" type="password" name="pass" />

        </fieldset>

        

        <div id="extend">

        	<fieldset style="display:none;">

        		<legend>Other Information</legend>

                

                <label for="oth_inf">This and that</label>

                <input id="oth_inf" type="text" name="this_that" />

        	</fieldset>

        </div>

        

        <fieldset>

        	<legend>Submit</legend>

            

            <input type="submit" value="Send" name="submitted" onclick="extendform()" />

        </fieldset>

    </form>

</div>
Im Head wird der JavaScript Code included:

Code:


function createRequestObject() { // send AJAX Request

	var objAjax;

	var browser = navigator.appName;

		

	if(browser == "Microsoft Internet Explorer") {

		objAjax = new ActiveXObject("Microsoft.XMLHTTP"); // Request in IE

	}

	else {

		objAjax = new XMLHttpRequest(); // default Request

	}

	

	return objAjax;

}

var http = createRequestObject();




function extendform() {

	var gethtml = document.getElementById("extend").innerHTML;

	var replace_html;

	
	replace_html = gethtml.replace("display:none;", ""); // display form extension

	
	
	http.onreadystatechange = function() {

		if(http.readyState == 4 && http.status == 200) {

			alert(document.getElementById('extend').innerHTML);
			document.getElementById('extend').innerHTML = replace_html;
			//alert(http.responseText);
		}
	}

	
	http.open('get', 'nothing.txt'); // fake, don't need that...?

	http.send(null);

}

Verstehe auch noch nicht, was der ResponseText (oder Header) bedeuten soll, denn ich anderen Scripts gesehen habe. Brauch ich das?

Vielen Dank für eure Hilfe >.<

Gruss Toby
__________________

Nyaa~~
------------------------------------------
http://www.codestyle.ch
------------------------------------------
Mit Zitat antworten
Sponsored Links