• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Formular Überprüfen

Status
Für weitere Antworten geschlossen.

wolf360

Neues Mitglied
Hey, ich bin neu auf dem gebiet JavaScript und arbeite gerade daran ein Formular auf ein bestimmtes Zeichen hin zu untersuchen:

Hier mal der Code
HTML:
<?php include("headc.php"); ?>
<?php


   $daten= "SELECT * FROM `clique` WHERE name = '".$_SESSION['online']."'";
   $queryn = mysql_query($daten) or DIE("ERROR");
  while($auswahln = mysql_fetch_array($queryn)){
  	 echo '<center class="zentriert_bearbeiten">';
	echo 'Name: <br><br>';
	echo 'E-Mail Adresse:<br><br>';
	echo 'Alter: <br><br>';
	echo 'Geburtstag: <br><br>';
	echo 'Hobbies: <br><br>';
	echo 'Status: <br><br>';
	echo 'ICQ-Nummer: <br><br>';
	echo '&Uuml;ber mich: <br>';
	echo '</center>';
echo '<center class="abstand_bearbeiten">';
echo '<form name="formular" method="post" action="'.$_SERVER['PHP_SELF'].'">';
echo '<input class="formular_feld" name="name" type="text" value="'.$auswahln['name'].'"><br><br>';
echo '<input class="formular_feld" name="email" type="text" value="'.$auswahln['email'].'"><br><br>';
echo '<input class="formular_feld" name="alter" type="text" value="'.$auswahln['alter'].'"><br><br>';
echo '<input class="formular_feld" name="geburtstag" type="text" value="'.$auswahln['geburtstag'].'"><br><br>';
echo '<input class="formular_feld" name="hobbies" type="text" value="'.$auswahln['hobbies'].'"><br><br>';
echo '<input class="formular_feld" name="status" type="text" value="'.$auswahln['status'].'"><br><br>';
echo '<input class="formular_feld" name="icq" type="text" value="'.$auswahln['icq'].'"><br><br>';
echo '<textarea class="formular_feld" name="info" type="text">'.$auswahln['info'].'</textarea><br>';
echo '<input name="submit" type="submit" value="Best&auml;tigen">';
echo '</form>';
echo '</center>';
  }
?>
<button onClick="test.pruefen()">Testen</button>
<script>
var test = {
pruefen:
	function(){
	for(i=0; i < document.formular.length; i++){
	if(document.formular[i].value.indexOf('<')== true){
	 document.write("< vrhanden");
	}
	else{
	 document.write("Kein <vorhanden");
	}
document.write(document.formular[i].value+"<br>");
}
}
}

Okey klappt alles in allem an sich ganz gut, blos Zeigt er die Nachricht < vorhanden bzw < nicht vorhanden in einem neuen Fenster an...-.-", deswegn wird des script auch nur 1mal ausgeführt...

wie mach ich des, das das Script komplett ausgefürht wird?

gruß wolf360
 
Werbung:
Hey, ich bin neu auf dem gebiet JavaScript und arbeite gerade daran ein Formular auf ein bestimmtes Zeichen hin zu untersuchen:

Hier mal der Code
HTML:
<?php include("headc.php"); ?>
<?php
 
 
   $daten= "SELECT * FROM `clique` WHERE name = '".$_SESSION['online']."'";
   $queryn = mysql_query($daten) or DIE("ERROR");
  while($auswahln = mysql_fetch_array($queryn)){
       echo '<center class="zentriert_bearbeiten">';
    echo 'Name: <br><br>';
    echo 'E-Mail Adresse:<br><br>';
    echo 'Alter: <br><br>';
    echo 'Geburtstag: <br><br>';
    echo 'Hobbies: <br><br>';
    echo 'Status: <br><br>';
    echo 'ICQ-Nummer: <br><br>';
    echo '&Uuml;ber mich: <br>';
    echo '</center>';
echo '<center class="abstand_bearbeiten">';
echo '<form name="formular" method="post" action="'.$_SERVER['PHP_SELF'].'">';
echo '<input class="formular_feld" name="name" type="text" value="'.$auswahln['name'].'"><br><br>';
echo '<input class="formular_feld" name="email" type="text" value="'.$auswahln['email'].'"><br><br>';
echo '<input class="formular_feld" name="alter" type="text" value="'.$auswahln['alter'].'"><br><br>';
echo '<input class="formular_feld" name="geburtstag" type="text" value="'.$auswahln['geburtstag'].'"><br><br>';
echo '<input class="formular_feld" name="hobbies" type="text" value="'.$auswahln['hobbies'].'"><br><br>';
echo '<input class="formular_feld" name="status" type="text" value="'.$auswahln['status'].'"><br><br>';
echo '<input class="formular_feld" name="icq" type="text" value="'.$auswahln['icq'].'"><br><br>';
echo '<textarea class="formular_feld" name="info" type="text">'.$auswahln['info'].'</textarea><br>';
echo '<input name="submit" type="submit" value="Best&auml;tigen">';
echo '</form>';
echo '</center>';
  }
?>
<button onClick="test.pruefen()">Testen</button>
<script>
var test = {
pruefen:
    function(){
    for(i=0; i < document.formular.length; i++){
    if(document.formular[i].value.indexOf('<')== true){
     document.write("< vrhanden");
    }
    else{
     document.write("Kein <vorhanden");
    }
document.write(document.formular[i].value+"<br>");
}
}
}

Okey klappt alles in allem an sich ganz gut, blos Zeigt er die Nachricht < vorhanden bzw < nicht vorhanden in einem neuen Fenster an...-.-", deswegn wird des script auch nur 1mal ausgeführt...

wie mach ich des, das das Script komplett ausgefürht wird?

gruß wolf360

Hallo,

da sind einige "Würmer im js Code.

Die Funktions-Deklaration ist falsch. Richtig wäre:

function pruefen() {
.. code ..
}

Das Zweite: Wenn du mit einem document.write oder doument.writeln
arbeitest, macht js genau das was document.write auch meint. Es wird
ein neues (html) Dokument geschrieben.

Wenn du im bestehenden (html) Dokument etwas ändern möchtest,
musst du mit dhtml arbeiten.

Ich weiss nicht was du wirklich machen willst,
ich vermute mal du willst an einer Stelle im Dokument die Meldung ausgeben. Wenn das stimmt, dann musst du mit der Methode
"appendChild(..)" im bestehenden Dokument etwas einfügen (siehe ab Seite 342
Flanagan). Beim Aufruf der Methode ist die Groß/Kleinschreibung wichtig, appendchild geht nicht.

Wenn du nichts einfügen, sondern nur den Text an einer bestimmten
Stelle ändern möchtest, musst du mit der Eigenschaft innerHTML (siehe Seite
896/897 Flanagan) arbeiten und einem bestimmten Element (die Referenz darauf ist die id), genauer seiner Eigenschaft einen neuen Wert zuweisen.

Das alles findest du wenn du nach DOM oder DHTML suchst.
 
Zuletzt bearbeitet:
Die Funktions-Deklaration ist falsch. Richtig wäre:

function pruefen() {
.. code ..
}
wenn ich des abba so mach, funktioniert das irgendwie nicht...-.-"


Das Zweite: Wenn du mit einem document.write oder doument.writeln
arbeitest, macht js genau das was document.write auch meint. Es wird
ein neues (html) Dokument geschrieben.

wenn ich das document.write(), aber ohne die Funktion mache, öffnet sich kein neues HTML-Dokumkent und er fügt den Text einfach am ende ein...

gruß wolf360
 
Werbung:
War gestern sicher schon ein bisschen spät.
Schreib doch mal was du wirklich erreichen möchtest.

Text im neuen Dokument oder im bestehenden Dokument.
Oder Alert-Fenster öffnen.
Oder bestehenden Text im bestehenden Dokument verändern.
 
okey:

ich will das Formular auf das Zeichen '<' untersuchen, und wenn es in irgendeinem <input> Feld eingetragen wurde, soll im selben Dokument eine Ausgabe kommen, das in dem Feld dieses Zeichen vorhanden ist.


und wenn ich die Funktion so schreibe

Code:
function pruefen() {
.. code ..
}

klappt das nicht... nur wenn ich es so mache:

Code:
pruefen:
    function(){
    for(i=0; i < document.formular.length; i++){
    if(document.formular[i].value.indexOf('<')== true){
     document.write("< vrhanden");
    }

gruß wolf360
 
Ich habe es zwar immer noch nicht ganz verstanden, aber ich
interpretiere mal, dass du dem user sagen möchtest, dass er das Zeichen
nicht verwenden darf.

Dann macht man das mit einem alert. Die Methode alert kann aber kein
komfortables zusammensetzen von Strings, deshalb musst du den
Meldungstext zuvor zusammensetzen.

meldung="Fehler bei der Eingabe im Feld"+feldname+"Zeichen &gt; nicht erlaubt";
alert(meldung);

diese Anweisungen kannst du auch in eine Formulardaten-Verarbeitungsfunktion einbauen.

Wenn du an einer bestimmten Stelle im Dokument solche Meldungen ausgeben willst, dann musst du dir ein solchen Meldungs-Block einbauen,
vorerst nur den Block, dann mit appendChild und innerHTML Meldungstexte
ergänzen.

Den Code für die Funktion solltest du in ein File auslagern, dass du im head
als quelle verlinkst. Im Body steht der Aufruf der Funktion.

Deine Funktions-Deklaration ist definitv falsch, zumindest habe ich so was noch nie gesehen und ich
programmiere jetzt schon über 10 Jahre mit js. Aber klar Alter schützt vor Torheit nicht ..
Schaue auch mal in der Fehler-Console was die dir sagt.
 
Zuletzt bearbeitet:
Werbung:
in dem Buch, sind auch bein Paar beispiele so beschrieben.

ich weiß das die Funktionsdeklaration falsch is.... weiß ja auch nicht warum es anders net klappt...

in welche Fehlerkonsole ?
 
okey, ich hab mir jetzte das Kapitel "Dokument durchqueren" angeschaut und hab ein paar fragen dazu:
bin so ziehmlich am Anfang des Kapitels und hab da scho fragen, folger Code:

HTML:
<html>
<head>
<title>Test</title>
</head>
<body>
Das ist ein <i>Test</i>
</body>
</html>
<script>
  document.write("Type " +document.body.nodeType+"<br>"); 
  document.write("Knoten: " + document.body.childNodes.length + "<br>");
var test = document.body.childNodes.length;
  if(document.body.nodeType == 1){
		for(var i=0; i < test; i++){
	document.write(document.body.childNodes);
	}
     }


</script>

Warum Zeigt er mir als Knoten Anzahl 5 an ??? Und wenn ich nichts Zwischen dem Body-Tag drin hab, wird 3 Ausgeben, blos wieso ???
und warum wird die for-Schleife 7 mal ausgeführt, obohl ich als Bedingung < als test angegeben hab ( und test ist 5)?

gruß wolf360
 
Hallo Wolfi,

lass uns das bitte über email klären, ich glaube nicht,
dass das alle interessiert.

Ich schicke dir etwas an deinen email account bei web.
 
Werbung:
Nun vlt. mal ein anderer Ansatz.. ich schreibe stehts die Überprüfung von Kontakformularfelder in php. Oder ist dies eine Weniger gut geeignete Methode ??

mfg. R3van
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben