Wie kann ich Pflichtfelder definieren?

Status
Nicht offen für weitere Antworten.
L

Los Wachos

Ich möchte in einem Formular einige Pflichtfelder definieren.
Weiß jemand ob dies in HTML möglich ist oder man doch auf Java ausweichen muß.

Und wo finde ich solche TAG's oder Scripte?
 
Gruss. Hab mir mal eine Funktion vom Dreamweaver geklaut :)

Code:
Code:
function MM_validateForm() {
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' muss eine E-Mail Adresse beinhalten.\n';
      } else if (test!='R') {
        if (isNaN(val)) errors+='- '+nm+' muss eine Nummer beinhalten.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' muss ausgefüllt sein.\n'; }
  } if (errors) alert('Es sind folgende Fehler aufgetreten:\n'+errors);
  document.MM_returnValue = (errors == '');
}


Also ich verstehs nicht, aber ich weiß, dass es klappt.

musst dann nur noch die Funktion aufrufen:
Code:
"MM_validateForm('name','','R','location','','R','email','','RisEmail','homepage','','R','icq','','R','topic','','R','message','','R');"

Also das ist aus einem Beispiel. Da siehste gleich, wie es anzuwenden ist. Also zum Beispiel gibts eine Textbox namens "name". Das R dahinter zeigt an, dass dort was rein muss. Musste bissl tüfteln. Ich habs mir noch nicht so angeschaut.


Ciao, KoMtuR
 
Du kannst es natürlich auch in dem Programm machen, an das Du die Daten des Formulars übergibst.

ist ein Pflichtfeld leer, dann gibst Du eine Fehlermeldung aus, und rufst das Formular erneut auf.

Welches Programm rufst Du denn auf? PHP? Perl?

wenn Du allerdings auf ein vorgefertigtes Script zurückgreifst, und von der Programmierung keinen Plan hast, dann musst Du es wohl in JavaScript lösen (so, wie KoMtuR beschrieben hat)

Gruß
Dunsti
 
also ich hab das ganze in php gelöst und im groben und ganzen sieht das so aus:

PHP:
$valid = true;
		$error["head"] = "";
		$error["content"] = "";

		if (isset($head) and strlen($head) < 1) {
			$error["head"] = "Das Feld <b>Headline</b> ist leer !";
			$valid = false;
		} 
		if (isset($content) and strlen($content) < 1) {
			$error["content"] = "Das Feld <b>Content</b> ist leer !!";
			$valid = false;
		}
		
		
		if ($valid and isset($ok)) {
			#hier kommt das rein was passiert wenn alles ausgefuellt is
		}
		else {
			#ansonsten kommt das ganze formular noch ma


			echo '
			<table width=100% cellspacing=0 cellpadding=0 border=0>	
				<tr>
				    <td>								
					<table width=100% cellspacing=0 cellpadding=0 border=0>';
						
						#hier die info das was net okay is - felder leer
						
						if ($error["head"] != "")
						echo '<tr><td>'.$error["head"].'<br><br></td></tr>';
						if ($error["content"] != "")
						echo '<tr><td>'.$error["content"].'<br><br></td></tr>';

						echo '
							
						<tr>
							<td>
								<FORM NAME="contact" ACTION="'.$PHP_SELF.'">
								<INPUT TYPE="text" SIZE="50" NAME="head" VALUE="'.$head.'">
							</td>
						</tr>
						<tr>
							<td>
								<TEXTAREA ROWS="10" COLS="40" NAME="content">'.$content.'</TEXTAREA>
							</td>
						</tr>
						<tr>
							<td>
								<INPUT TYPE="submit" NAME="ok" VALUE="Eintragen">
								</FORM>
							</td>		
						</tr>
					</table>
	 			    </td>
				</tr>
			</table>';
		}


sorry - aber ich hab jetzt keinen plan ob das syntax-mässig alles in ordnung ging , oder ob du ueberhaupt was damit anfangen kannst.

mfg flash
 
ich hab auch ein formular und will hier auch plichtfelder einbauen

es war schon forgefertignt. hier der php code

Code:
]<?php

### Konfiguration ###

# Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!

# An welche Adresse sollen die Mails gesendet werden?
$strEmpfaenger = 'pmail;

# Welche Adresse soll als Absender angegeben werden?
# (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
$strFrom       = '"Formmailer" <mail>';

# Welchen Betreff sollen die Mails erhalten?
$strSubject    = 'Feedback';

# Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
# Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
$strReturnhtml = 'http://---------------------------';

# Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
$strDelimiter  = ":\t";

### Ende Konfiguration ###

if($_POST)
{
 $strMailtext = "";

 while(list($strName,$value) = each($_POST))
 {
  if(is_array($value))
  {
   foreach($value as $value_array)
   {
    $strMailtext .= $strName.$strDelimiter.$value_array."\n";
   }
  }
  else
  {
   $strMailtext .= $strName.$strDelimiter.$value."\n";
  }
 }

 if(get_magic_quotes_gpc())
 {
  $strMailtext = stripslashes($strMailtext);
 }

 mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
  or die("Die Mail konnte nicht versendet werden.");
 header("Location: $strReturnhtml");
 exit;
}

?>
    <head>
        <title>Kontakt</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		

  <link rel="stylesheet" type="text/css" href="styles/scroll.css">
<link rel="stylesheet" type="text/css" href="styles/style.css">
<style type="text/css">
<!--
.Stil5 {color: #FF0000}
-->
</style>
    </head>
    <body>
        <table width="92%" border="0" cellpadding="2" cellspacing="2">
          <tr>
            <td width="5%" align="center"><div align="left">
                <p class="Stil12"><img src="images/wappen_stmk_fw.jpg" width="50" height="50"></p>
            </div></td>
            <td width="95%" align="center"><div align="left"><span class="Stil12 Stil2"><font face=Tahoma size=4>KONTAKT</font></span></div></td>
          </tr>
        </table>
        <p>&nbsp;</p>
        <table width="226" height="77" border="3" bordercolor="#FF0000">
          <tr>
            <td width="216"><span class="Stil2 Stil5">FF- Mureck </span></td>
          </tr>
          <tr>
            <td><span class="Stil2 Stil5">Lorberplatz HSNR </span></td>
          </tr>
          <tr>
            <td><span class="Stil2 Stil5">Tel.: +43 NR B&uuml;ro</span></td>
          </tr>
    </table>
        <p>&nbsp;</p>
            <dl>
                <dt class="Stil10">&nbsp;</dt>
                <dt class="Stil1">&nbsp;</dt>
                <dt class="Stil10">&nbsp; </dt>
<form name="form" method="post">
                  <span class="Stil10"></span>
                  <dl>
                    <dt class="Stil1">&nbsp;</dt>
                    <dt class="Stil11">Ihr Name:</dt>
                    <dd class="Stil1">
                      <input type="text" name="Versender" size="30"
				style="BORDER-RIGHT: red thin solid;
   			    BORDER-LEFT: red thin solid;
				BORDER-TOP: red thin solid;
				BORDER-BOTTOM: red thin solid">
                    </dd>
                    <dt class="Stil11">Ihre E-Mail:</dt>
                    <dd class="Stil1">
                      <input type="text" name="E-Mail" size="30" 
				style="BORDER-RIGHT: red thin solid;
   			    BORDER-LEFT: red thin solid;
				BORDER-TOP: red thin solid;
				BORDER-BOTTOM: red thin solid">
</dd>
  </dl>
                  <dl>
                    <dt class="Stil11">Nachricht:                    </dt>
                  </dl>
                  <blockquote>
                    <dl>
                      <dt class="Stil10">
                        <textarea name="Nachricht" cols="50" rows="5" onFocus="this.value=''"
						<input type="text" name="E-Mail" size="30" 
				style="BORDER-RIGHT: red thin solid;
   			    BORDER-LEFT: red thin solid;
				BORDER-TOP: red thin solid;
				BORDER-BOTTOM: red thin solid">Bitte geben Sie Ihre Nachricht hier ein!</textarea>
                      </dt>
                    </dl>
                    <p>
                      <input type="submit" value="Senden" />
                      <input type="reset" value="Zurücksetzen" />
</p>
  </blockquote>
    </form>

Wo soll hier der Code für die pflichtfelder eingebaut werden kann mir bitte jemand helfen

danke

rickinator:)
 
Status
Nicht offen für weitere Antworten.
Zurück