Alert geven onfocus en voorwaarde

Status
Niet open voor verdere reacties.

Hombre

Gebruiker
Lid geworden
25 mei 2006
Berichten
65
Aanvullend op mijn vorig probleem nog een vraagje. Waarschijnlijk weer iets dat ik over het hoofd zie.

Ik wil een alert geven indien de focus op "Opmerking1" staat en wanneer een ander veld "Naam1" niet is ingevuld.

Stukje van de HTML code is;

HTML:
	<tr height="80"> 
	    <td>Opmerking kind</td>   
	    <td><textarea rows="3" cols="22" name="Opmerking1" id="Opmerking1" style="overflow:auto;color: #193866" onfocus="Opm1"></textarea></td>
		<td></td>

De javascriptcode heb ik zo gemaakt;
[JS]
function Opm1(){

if(Prijsform.Naam1.value==""){
alert ("VUL EERST DE NAAM IN VAN UW KIND");
document.Prijsform.Opmerking1.value=("");
document.Prijsform.Naam1.focus();
}
}
[/JS]
Wat doe ik hier verkeerd?

Dank u
 
Hoi

In je if ben je document vergeten en een paar haakjes te veel volgens mij.

Code:
function Opm1(){
 
if(document.Prijsform.Naam1.value==""){
alert ('VUL EERST DE NAAM IN VAN UW KIND');
document.Prijsform.Opmerking1.value="";
document.Prijsform.Naam1.focus();
}
}

In je OnFocus, om een functie aan te roepen, voeg () toe.

Code:
 OnFocus="Opm1()"

greetz
P
 
Zoals zildjan al zei, een functie aanroepen doe je door er bij de referentie () achter te plakken.

Een mooiere oplossing is als je gelijk het veld meegeeft via het this keyword:
HTML:
<textarea ... ... onfocus="Opm1(this);"></textarea>
[JS]function Opm1(ik)
{
if(document.Prijsform.Naam1.value == "")
{
alert('VUL EERST DE NAAM IN VAN UW KIND');
ik.value=""; /* ik is dus de 'this' van het <textarea> */
document.Prijsform.Naam1.focus();
}
}[/JS]nog mooier is natuurlijk als je de Naam1-veld via gEBY pakt:
[JS]function Opm1(ik)
{
var naamveld = document.getElementById('Naam1');

if(naamveld.value == "")
{
alert('VUL EERST DE NAAM IN VAN UW KIND');
ik.value=""; /* ik is dus de 'this' van het <textarea> */
naamveld.focus();
}
}[/JS]maar dan moet die input wel een ID met 'naam1' hebben uiteraard.



:thumb:
 
Zildjan

Bedankt, natuurlijk was ik de haakjes vergeten bij OnFocus="Opm1()"

Vegras

Bedankt voor de mooiere oplossing, dit moet ik nog eens bestuderen, maar het grootste probleem lag bij de haakjes()

Opgelost, bedankt.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan