@ fix in ein pflichtfeld
petra
- html
hallo!
ich habe ein e-mail textfeld in meinem formular als pflichtfeld definiert. wie schaffe ich es dass das "@" im feld stehenbleibt und man es nicht weglöschen kann? und es sollte natürlich dann nicht ohne eingabe plötzlich möglich sein das formluar abzuschicken nur weil das @ schon drin ist.
ich hoffe das war verständlich formuliert :o)
lg,
petra
Hallo.
ich habe ein e-mail textfeld in meinem formular als pflichtfeld definiert. wie schaffe ich es dass das "@" im feld stehenbleibt und man es nicht weglöschen kann? und es sollte natürlich dann nicht ohne eingabe plötzlich möglich sein das formluar abzuschicken nur weil das @ schon drin ist.
Schau mal da nach: http://aktuell.de.selfhtml.org/artikel/javascript/email-check/
Ansonsten, falls es dir nur auf das @ ankommt, sollte onchange="if(this.value.indexOf('@') > -1){...}" reichen (http://selfhtml.teamone.de/javascript/objekte/string.htm#index_of).
Gruß
Norbert
Hallo Petra,
mit reinem HTML kannst Du wenig machen. WWWwwwenn ein Textfeld schreibbar ist (mit readonly verbieten das manche Browser), kann man seine Inhalte eben auch löschen.
Zwei Auswege:
1. User- und Domainteil getrennt abfragen. Also
<input type=text name=mail1>@<input type=text name=mail2>
2. Syntax nach Eingabe per JavaScript (oder PHP odgl.) mehr als nur auf das "@" prüfen.
Grüße aus Würzburg
Julian
P.S: Ein Mailzwang ist nicht immer sinnvoll. Gebe dabei selbst gerne irgendein meier@inhaberdieserseite.de an.
Hallo,
wie hast du denn dein formular als pflichfeld definiert?
Dies macht man über eine javascript-funktion die den inhalt überprüft und das abschicken des formulares zuläßt oder eben nicht.
wenn dein feldinhalt nur "@" ist gibt es einfach einen return false;
das man das @ aus einem textfeld nicht löschen kann geht so nicht...höchtens das feld mit readonly zu versehen, was aber auch nicht im sinne sein kann.
du kannst bei verschiedenen ereignissen überprüfen, ob überhaupt noch was im feld enthalten ist und bei ganz leer wieder mit @ auffüllen-->ansonsten überschreibst du die eingaben des users...
Odium
Hallo,
wie hast du denn dein formular als pflichfeld definiert?
Dies macht man über eine javascript-funktion die den inhalt überprüft und das abschicken des formulares zuläßt oder eben nicht.
wenn dein feldinhalt nur "@" ist gibt es einfach einen return false;
das man das @ aus einem textfeld nicht löschen kann geht so nicht...höchtens das feld mit readonly zu versehen, was aber auch nicht im sinne sein kann.
du kannst bei verschiedenen ereignissen überprüfen, ob überhaupt noch was im feld enthalten ist und bei ganz leer wieder mit @ auffüllen-->ansonsten überschreibst du die eingaben des users...
Odium
danke für die hilfe erstmal!
ja es geht über eine javascript funktion, ich habe im moment im feld selbst einfach value="@" eingegeben, das problem hierbei ist einfach nur dass ich das @ einfach rauslöschen kann und damit (return false; ist enthalten) funktoniert die überprüfung auch nicht mehr. (er schickt das formular einfach ab wenn ich das value stehen lasse. (sorry, javascript ist nicht so meins :O)
Hallo,
wie so geht die überprüfung dann nicht mehr?
ein beispiel:
ein formular
<form name="formu" method="post" action="php/cgi/asp etc." onSubmit="return checker()">
<input type="text" valeu="@" name="email">
submit/reset etc.
</form>
dein script:
<script type="text/javascript">
function checker()
{
if (document.formu.email.value = "" || document.formu.email.value = "@")
{
alert("mecker");
document.formu.email.focus();
return false;
}
}
</scipt>
Musste um- einbauen, kannst natürlich auch weitere felder in der funktion testen...
Odium
Hallo,
wie so geht die überprüfung dann nicht mehr?
ein beispiel:
ein formular
<form name="formu" method="post" action="php/cgi/asp etc." onSubmit="return checker()">
<input type="text" valeu="@" name="email">
submit/reset etc.
</form>
dein script:
<script type="text/javascript">
function checker()
{
if (document.formu.email.value = "" || document.formu.email.value = "@")
{
alert("mecker");
document.formu.email.focus();
return false;
}
}
</scipt>
Musste um- einbauen, kannst natürlich auch weitere felder in der funktion testen...
Odium
DANKEE!!!!!!!!!!!
genau das hab ich gebruacht : if (document.formu.email.value = "" || document.formu.email.value = "@")
ich wusste nicht wie ich alle beide prüfen kann! danke!!!!!!
bin dir sehr verbunden!!!!!!! :o)
lg,
petra
Hallo,
wie so geht die überprüfung dann nicht mehr?
ein beispiel:
ein formular
<form name="formu" method="post" action="php/cgi/asp etc." onSubmit="return checker()">
<input type="text" valeu="@" name="email">
submit/reset etc.
</form>
dein script:
<script type="text/javascript">
function checker()
{
if (document.formu.email.value = "" || document.formu.email.value = "@")
{
alert("mecker");
document.formu.email.focus();
return false;
}
}
</scipt>
Musste um- einbauen, kannst natürlich auch weitere felder in der funktion testen...
Odium
DANKEE!!!!!!!!!!!
genau das hab ich gebruacht : if (document.formu.email.value = "" || document.formu.email.value = "@")
ich wusste nicht wie ich alle beide prüfen kann! danke!!!!!!
bin dir sehr verbunden!!!!!!! :o)
lg,
petra
naajaa...aber das formular schickt sich jetzt auch weg wenn das @ nicht drinsteht sonder nur irgendein text.. :o(
Hallo
DANKEE!!!!!!!!!!!
genau das hab ich gebruacht : if (document.formu.email.value = "" || document.formu.email.value = "@")
ich wusste nicht wie ich alle beide prüfen kann! danke!!!!!!
bin dir sehr verbunden!!!!!!! :o)
naajaa...aber das formular schickt sich jetzt auch weg wenn das @ nicht drinsteht sonder nur irgendein text.. :o(
Soweit ich weiß, gibt es auch bei javascript "reguläre Ausdrücke"
mit denen Du prüfen kannst, ob die angegebene Adresse _den Konventionen
genügt_. Ob es die Adresse gibt, kannst du so allerdings nicht prüfen.
Benutze mal die Suche Funktion oben Links auf der Forumshauptseite,
ich glaub', letzte Woche gab's da mal einen Thread zu.
Grüße aus Berlin, wo mal 5 Minuten die Sonne scheint
Tschüß, Auge
Hallo
DANKEE!!!!!!!!!!!
genau das hab ich gebruacht : if (document.formu.email.value = "" || document.formu.email.value = "@")
ich wusste nicht wie ich alle beide prüfen kann! danke!!!!!!
bin dir sehr verbunden!!!!!!! :o)
naajaa...aber das formular schickt sich jetzt auch weg wenn das @ nicht drinsteht sonder nur irgendein text.. :o(
Soweit ich weiß, gibt es auch bei javascript "reguläre Ausdrücke"
mit denen Du prüfen kannst, ob die angegebene Adresse _den Konventionen
genügt_. Ob es die Adresse gibt, kannst du so allerdings nicht prüfen.
Benutze mal die Suche Funktion oben Links auf der Forumshauptseite,
ich glaub', letzte Woche gab's da mal einen Thread zu.
Grüße aus Berlin, wo mal 5 Minuten die Sonne scheint
Tschüß, Auge
danke, werd ich machen! (in wien scheint sie a net länger :o)
Hallo Petra,
wenn du unbedingt auf das vorhandensein des @ prüfen möchtest...
if (document.formu.email.value == "" || document.formu.email.value == "@" || document.formu.email.value.indexOf == -1)
du kannst aber trotzdem nicht erkennen, ob es eine aktive emailadresse ist...
wenn du auf noch mehr vorkommen von zeichen testen möchtest ist ein regulärer ausdruck anzuraten..
pbrigens hatte ich bei der ersten if-anweisung die doppelten == vergessen (bei vergleich == --> bei zuweisung =)
|| = oder
&& = und
Odium
Hallo Petra,
wenn du unbedingt auf das vorhandensein des @ prüfen möchtest...
if (document.formu.email.value == "" || document.formu.email.value == "@" || document.formu.email.value.indexOf == -1)
du kannst aber trotzdem nicht erkennen, ob es eine aktive emailadresse ist...
wenn du auf noch mehr vorkommen von zeichen testen möchtest ist ein regulärer ausdruck anzuraten..
pbrigens hatte ich bei der ersten if-anweisung die doppelten == vergessen (bei vergleich == --> bei zuweisung =)
|| = oder
&& = und
Odium
DANKE!!
(das doppelte == hab ich zum glück mal selbst geknissen) :o)
morgen,
kommt mir dieser gedanke: du belegst das mailfeld mit value @ vor und machst dann in einem javascript, das du bei submit aufrufst zur bedingung, dass der wert im mailfeld laenger als zwei (oder wieviele auch immer) zeichen ist. zusaetzlich wuerde ich noch abfragen ob ein punkt im wert vorhanden ist, weil den brauchts ja in emailadressen auch.
cheers, dm
morgen,
kommt mir dieser gedanke: du belegst das mailfeld mit value @ vor und machst dann in einem javascript, das du bei submit aufrufst zur bedingung, dass der wert im mailfeld laenger als zwei (oder wieviele auch immer) zeichen ist. zusaetzlich wuerde ich noch abfragen ob ein punkt im wert vorhanden ist, weil den brauchts ja in emailadressen auch.
cheers, dm
die idee ansich ist mit mehr als sympathisch, nur im umsetzen werd' ich mir als "nichtjavascriptlerin" schwer tun befürcht' ich..
die idee ansich ist mit mehr als sympathisch, nur im umsetzen werd' ich mir als "nichtjavascriptlerin" schwer tun befürcht' ich..
morgen,
versuch mal das hier:
function mailformcheck()
{
if(document.DeinFormularName.Email.value.indexOf('@') == -1)
{
alert("Bitte eine gueltige Email angeben!");
document.DeinFormularName.Email.focus();
return false;
}
if(document.DeinFormularName.Email.value.indexOf('.') == -1)
{
alert("Bitte eine gueltige Email angeben!");
document.DeinFormularName.Email.focus();
return false;
}
if(document.DeinFormularName.Email.value < 5)
{
alert("Bitte eine gueltige Email angeben!");
document.DeinFormularName.Email.focus();
return false;
}
}
das ganze dann bei form submit aufrufen. im letzten absatz wird geprueft, ob der wert Email midestens fuenf zeichen lang ist. sollte an sich ausreichen.
cheers, dm