Home  PHP Projekte  PHP Schulung  Informationsquellen  Geschichte  Core PHP  Fortgeschrittenes PHP  Templates  Cache-Technologien  OOH Forms  Grundlagen  JavaScript  Aktivierung  Validierungstypen  JS-Codevariante I  JS-Codevariante II  JS_README  Custom Validators  Custom Validators II  XML  Layoutmanager  Pages  Wizards  Fazit  Technik der Site  Büchertipps  Fotografie  Airbrush  Kontakt  Stuff 
|
JavaScript in den OOH-Forms
Es stehen zwei Varianten der Validierung zur Verfügung: "weak" und "strong".
Bei der Variante "weak" wird im öffnendem <form>-Tag der Event-Handler
"onSubmit" definiert. "strong" fügt zusätzlich bei jedem Formularelement
einen "onChange" Event-Handler ein.
Die Defaulteinstellung "strong" kann mit der Methode
void setJSMode(string $mode) überschrieben werden.
Die Fehlermeldung kann mit der Methode
void setJSError(string $prefix, string $postfix) beeinflußt werden.
$prefix setzt den einleitenden Satz im JavaScript Alert-Fenster.
Der abschließende Satz wird durch $postfix bestimmt.
| Methode 'weak' |
Top |
|
<?php require_once('HTML_OOH_Form/form.php'); define('FORM_FILE_DIR', $DOCUMENT_ROOT . '/projekte/');
// form($js_name = '', $method = '', $action = '', $target = '') $f = new form('html_name'); $f->CR_HTML = "\n"; // Validierungstyp setzen $f->setJSMode('weak'); // Zeilenumbrüche müssen geschützt werden! $f->setJSError( "Das Formular ist nicht korrekt ausgefüllt:\n\n", '\nBitte korrigieren!');
// zwei Elemente hinzufügen $f->addElement( array( 'name' => 't1', 'type' => 'text', 'minlength' => 3, 'length_e' => 'Bitte geben Sie mindestens drei Buchstaben ein.' ) );
$f->addElement(array('type' => 'submit', 'name' => 'b1', 'value' => 'senden'));
$f->autoloadValues(); list($error_msg, $error_flags) = $f->validate(); print "Fehlermeldung: $error_msg";
$f->Start(); $f->showElement('t1'); $f->showElement('b1'); $f->Finish(); ?>
|
|
Ausgabe
|
Top |
Fehlermeldung: Bitte geben Sie mindestens drei Buchstaben ein.
|
Fehlermeldung: Bitte geben Sie mindestens drei Buchstaben ein.
<form action="/schulung/ooh/js/typen.php" target="_self" method = "POST" name="html_name" onSubmit="return _html_name.validate();">
<input type="text" value="" name="t1" ><input type="submit" name="b1" value="senden"></form>
<script language="JavaScript1.2"><!--//
function form(n, els) {
this.name = n;
this.els = els;
this.p = "";
};
new form;
form.prototype.validate = function () {
var e = f = s = "";
var i, el, vd, j, vl, c, l, a, d, n;
n = this.name;
d = this.els;
for (i = 0; i < d.length; i += 2) {
el = this.p + d[i];
a = arguments;
if (a.length && a[0] != el)
continue;
vd = d[i + 1];
vl = document.forms[n].elements[el].value;
j = 0;
while (j < vd.length) {
c = vd[j];
j += 4;
if ("v" == c) {
eval("vl = " + vd[j - 3] + "('" + n + "', '" + el + "'); j -= 2;");
s = vl[1];
vl = vl[0];
}
l = vl.length;
if ("l" == c && (l < vd[j - 3] || (vd[j -2] >= 0 && l > vd[j - 2])))
e += vd[j - 1] + "\n";
if ("r" == c && -1 == vl.search(new RegExp(vd[j - 3], vd[j - 2])))
e += vd[j - 1] + "\n";
if ("i" == c && -1 != vl.search(new RegExp(vd[j - 3])))
e += vd[j-- - 2] + "\n";
}
if (!f && e)
f = (s) ? s : el;
}
if (e) {
alert("Das Formular ist nicht korrekt ausgefüllt:\n\n" + e + "\nBitte korrigieren!");
document.forms[n].elements[f].focus();
return false;
}
return true;
};
var _html_name = new form("html_name", ["t1", ["l", 3, -1, "Bitte geben Sie mindestens drei Buchstaben ein."]]);
//--></script> |
|
< ^ >
|