Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Eingaben erzwingen

Empfohlene Antworten

Veröffentlicht

Wie kann ich in JavaScript die gezwungene Eingabe von Daten/Text in Textfeldern erzwingen?

Bsp: Ich will mich irgendwo anmelden und die Felder mit Sternchen müssen gefüllt sein damit ich das Formular abschicken kann...

Eine Lösung in JavaScript wäre schön besser wäre eine in PHP würde mich freuen wenn mir jemand helfen könnte :)

GBY Syd

Ich weiß nicht ob du das meinst aber in JavaScript würde ich es so machen:


<form name='frm' method=POST action='<???>' onsubmit='return checkForm();'>

  <input type='Text' name='test'>

</form>

und im JavaScript:

checkForm() {

  if(document.frm.value=='') return false;

  else return true;

}

gruss

markus

Du machst einfachn eine if Abfrage(hast ja unten den Anmelden Knopf)

Dem sagst du er soll prüfen, das Eingabe nicht "" sein darf.

So isses jedenfalls in Java und eigentlich auch in allen anderen Sprachen.

Vll. hilft es dir ja =)

cu

Ich weiß nicht ob du das meinst aber in JavaScript würde ich es so machen:


<form name='frm' method=POST action='<???>' onsubmit='return checkForm();'>

  <input type='Text' name='test'>

</form>

und im JavaScript:

checkForm() {

  if(document.frm.value=='') return false;

  else return true;

}

gruss

markus

Das hat mir schon ein bisschen geholfen, der Weg ist schon richtig nun will ich aber das nur einige Textfelder zwingend ausgefüllt sein müssen wie z.B. Benutzername, Passwort usw. :)

GBY Syd

Sehe gerade, dass ich einen Fehler in meiner Beschreibung hatte:

checkForm() {

  if(document.frm.[B]test.[/B]value=='') return false;

  else return true;

}
Gib jedem deiner Felder einen eindeutigen Namen. In der CheckForm-Methode, fragst du alle Felder, die du zwingend machen willst, nacheinander ab und gibst bei leerzeichen ein alert aus und positionierst am besten auf dem Fehlerfeld.
checkForm() {

  if(document.frm.test.value=='') {

   document.frm.test.focus();

   alert("Bitte einen gültigen Wert eingeben");

   return false;

  }

  else return true;

}

Sorry.. kenne mich mit JavaScript echt nicht aus *schäm* hab mich immer erfolgreich gedrückt.. irgendwie klappt das bei mir nicht :-/

GBY Syd

Gibt er Fehlermeldungen?

ruft er überhaupt die Methode checkForm auf?

setzt mal alert("Test"); am Anfang der Funktion.

Das funktioniert bei mir!

<html>

<head>

<script language="JavaScript">

<!--

function checkForm() {

  if(document.frm.test.value=="") {

    alert("Fehler");

    return false;

  } else return true;

}

//-->

</script>

<noscript></noscript>

</head>

<body>

 <form name="frm" action="#" method="POST" onSubmit="return checkForm();">

   <input type="Text" name="test">

 </form>

</body>

</html>

Sorry mein Fehler *lächel*

So und wie genau sage ich nun welches value leer sein darf und welches nicht? *schäm*

GBY Syd

In Javascript steht:

document - Das ist dein HTML-Dokument

frm - Das ist der Name des FORM (siehe Code)

test - Das ist der Name des INPUT (siehe Code)

value - Inhalt des Feldes

mit document.frm.test.value greifst du also auf den Inhalt des Feldes test zu.

mit "==" vergleichst du mit der Zeichenkette "" (leer).

Lege dir unterschiedliche felder mit verschiedenen Namen an und mach mehrere if-Abfragen in dein checkForm():


if(document.frm.feld1.value == "") {

  ...

  return false;

}

if(document.frm.feld2.value == "") {

  ...

  return false;

}

return true;

Vielen Dank Krain, dachte nur man könnte das ganze etwas kürzer schreiben *smile*

Hast mir sehr geholfen :-)

GBY Syd

das ganze in PHP zu lösen, wär aber um eine Spur besser. So weißt du dass es jeder benutzen kann.

Ich such mal ein altes PHP-Formular von mir, da ich immer die Ausfülloptionen mit einbaue :)

Ich kann dir auch ein Beispiel in PHP zeigen, wenn dir das lieber ist.

Ich kann dir innerhalb von 5 minuten was schreiben. Ich dachte nur, dass du es auf Clientseite validieren willst. Ich persönlich finde die Validierung auf der Serverseite auch besser!

gruss

markus

Beispiel in PHP:

<?php
if(isset($_POST[submit])) {
if(!$_POST[name] || !$_POST[passwort]) {
echo "Keine Angaben bei Name bzw. Passwort!";
exit;
}
else { /* Formularverarbeitung */ }
}
else {
?>
<form action="<?php echo $PHP_SELF; ?>" method="post">
Name: <input type="text" name="name" /><br />
Passwort: <input type="password" name="passwort" /><br />
<input type="submit" name="submit" value="abschicken" />
</form>
<?php
}
?>[/php]

Beispiel in PHP:

<?php
if(isset($_POST[submit])) {
if(!$_POST[name] || !$_POST[passwort]) {
echo "Keine Angaben bei Name bzw. Passwort!";
exit;
}
else { /* Formularverarbeitung */ }
}
else {
?>
<form action="<?php echo $PHP_SELF; ?>" method="post">
Name: <input type="text" name="name" /><br />
Passwort: <input type="password" name="passwort" /><br />
<input type="submit" name="submit" value="abschicken" />
</form>
<?php
}
?>[/php]

hier die [b]' '[/b] nicht vergessen!!

[php]<?php
if(isset($_POST['submit'])) {
if(empty($_POST['name']) || empty($_POST['passwort'])) {
echo "Keine Angaben bei Name bzw. Passwort!";
exit;
}
else { /* Formularverarbeitung */ }
}
else {
?>
<form action="<?php echo $PHP_SELF; ?>" method="post">
Name: <input type="text" name="name" /><br />
Passwort: <input type="password" name="passwort" /><br />
<input type="submit" name="submit" value="abschicken" />
</form>
<?php
}
?>

Globale Variablen sind bei mir nicht aktiv und überhaupt geht das irgendwie garnicht *grinsel*

GBY Syd

Ohne globale Varaiblen kannst Du dass nicht mit PHP lösen. Dann nur mit JavaScript, was jeder einfach abschalten kann. Ich habe schon richtige Programme in PHP geschrieben, die am Anfang auch belächelt wurden von wegen die Eingabe mach ich aber einfach nicht, und wenn es klappt doch - und die Leute haben dann gesehen dass ich mit Hilfe von PHP eben doch mehr Macht habe als mit JavaScript. Wenn es vernüftig sein soll, dann arbeite mit PHP.

By the way: warum hast Du globale deaktiviert????

Bine

Ich schiebs mal so langsam in die Webserverprogrammierung rüber ;)

Ohne globale Varaiblen kannst Du dass nicht mit PHP lösen. Dann nur mit JavaScript, was jeder einfach abschalten kann. Ich habe schon richtige Programme in PHP geschrieben, die am Anfang auch belächelt wurden von wegen die Eingabe mach ich aber einfach nicht, und wenn es klappt doch - und die Leute haben dann gesehen dass ich mit Hilfe von PHP eben doch mehr Macht habe als mit JavaScript. Wenn es vernüftig sein soll, dann arbeite mit PHP.

By the way: warum hast Du globale deaktiviert????

Bine

Du hast vielleicht globale Variablen deaktiviert, aber $_POST, $_GET,... sind SuperGlobale Arrays, die man nicht deaktivieren kann.

Du hast vielleicht globale Variablen deaktiviert, aber $_POST, $_GET,... sind SuperGlobale Arrays, die man nicht deaktivieren kann.
Ich gar nicht. Käme nicht auf die Idee.... Der Threadersteller meinet dieses!

Bine

Ich gar nicht. Käme nicht auf die Idee.... Der Threadersteller meinet dieses!

Bine

Sorry, war natürlich auf den Threadsteller bezogen :)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.