Hi all,
ich habe das Form Extension Tutorial für ein eigenes Projekt umsetzen wollen und das klappt auch alles soweit.
siehe Tutorial:
http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=602&cHash=2487fed4b2
Tabelle ist korrekt angelegt und alle meine Formularwerte schreibt er richtig in die Tabelle.
Jetzt habe ich aber einige Felder, die ich als required setzen will. Dummerweise ist das im Tutorial nicht beschrieben. Hat jemand eine Ahnung wie ich ein Formfeld als benötigt angeben kann?
Thx & Greets
Sven
schon gut schon gut.
habs mir wie immer selbst gemacht.
hier die Lösung:
(falls das jemanden interessiert)
wenn man das Tutorial (siehe Link oben) macht. Folgendes Script in die $content Variable hinzufügen. BEVOR das <form> anfängt!
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_validateForm() { //v4.0
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+' must contain an e-mail address.
';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.
';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.
';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.
'; }
} if (errors) alert('Bitte füllen Sie ALLE Pflichtfelder aus!!!
Pflichtfelder sind mit * gekennzeichnet!');
document.MM_returnValue = (errors == '');
}
//-->
</script>
dann muss der submit button so aussehen:
<INPUT type="submit" value="Daten abschicken" name="'.$this->prefixId.'[submit_button]" onClick="MM_validateForm('user_test_pi1[DATA][title]','','R','user_test_pi1[DATA][description]','','R');return document.MM_returnValue">
Wobei hier jetzt Title und description als required gesetzt werden.
Der Javascript stammt nicht aus Typo sondern habe den aus Dreamweaver genommen. Der aus Typo wollte mal wieder nich. Und warum schwierig wenns auch einfach geht!
so long
Sven