variabele div ID en naam

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ceasar Feijen

Ceasar Feijen

01/05/2008 14:16:00
Quote Anchor link
Hai,
Ik heb een probleempje met xhtml id

Ik gebruik het volgende js scriptje

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10

// form validation function //
function validate(form) {
  var naam = form.naam.value;
  var email = form.email.value;
  var tekst = form.tekst.value;
  var som = form.som.value
  var nameRegex = /^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/;
  var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
  var messageRegex = new RegExp(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>
/gim);
var somRegex = /\(?\d/;
if(naam == "") {
inlineMsg('naam','Wel een naam invullen !',2);
form.naam.focus();
return false;
}
if(!naam.match(nameRegex)) {
inlineMsg('naam','<strong>Fout</strong><br />Geen goede naam ingevuld !',2);
form.naam.focus();
return false;
}
if (form.email.value.length > 0) {
if(!email.match(emailRegex)) {
inlineMsg('email','<strong>Fout</strong><br />Geen geldig email adres !',2);
form.email.focus();
return false;
}
}
if(tekst == "") {
inlineMsg('tekst','Wel wat invullen in het tekstvlak !');
form.tekst.focus();
return false;
}
if(tekst.match(messageRegex)) {
inlineMsg('tekst','<strong>Fout</strong><br />Ongeldige tekst !');
form.tekst.focus();
return false;
}
if(som == "") {
inlineMsg('som','Tel de beide getallen op om te kunnen posten !');
form.som.focus();
return false;
}
if(!som.match(somRegex)) {
inlineMsg('som','<strong>Fout</strong><br />Alleen nummers invullen !');
form.som.focus();
return false;
}
return true;
}

var MSGTIMER = 20;
var MSGSPEED = 5;
var MSGOFFSET = 3;
var MSGHIDE = 3;

// build out the divs, set attributes and call the fade function //
function inlineMsg(target,string,autohide) {
var msg;
var msgcontent;
if(!document.getElementById('msg')) {
msg = document.createElement('div');
msg.id = 'msg';
msgcontent = document.createElement('div');
msgcontent.id = 'msgcontent';
document.body.appendChild(msg);
msg.appendChild(msgcontent);
msg.style.filter = 'alpha(opacity=0)';
msg.style.opacity = 0;
msg.alpha = 0;
} else {
msg = document.getElementById('msg');
msgcontent = document.getElementById('msgcontent');
}
msgcontent.innerHTML = string;
msg.style.display = 'block';
var msgheight = msg.offsetHeight;
//msgarrow.style.height = msgheight + 'px';
var targetdiv = document.getElementById(target);
var targetheight = targetdiv.offsetHeight;
var targetwidth = targetdiv.offsetWidth;
var topposition = topPosition(targetdiv) - ((msgheight - targetheight) / 2);
var leftposition = leftPosition(targetdiv) + targetwidth + MSGOFFSET;
msg.style.top = topposition + 'px';
msg.style.left = leftposition + 'px';
clearInterval(msg.timer);
msg.timer = setInterval("fadeMsg(1)", MSGTIMER);
if(!autohide) {
autohide = MSGHIDE;
}
window.setTimeout("hideMsg()", (autohide * 1000));
}

// hide the form alert //
function hideMsg(msg) {
var msg = document.getElementById('msg');
if(!msg.timer) {
msg.timer = setInterval("fadeMsg(0)", MSGTIMER);
}
}

// face the message box //
function fadeMsg(flag) {
if(flag == null) {
flag = 1;
}
var msg = document.getElementById('msg');
var value;
if(flag == 1) {
value = msg.alpha + MSGSPEED;
} else {
value = msg.alpha - MSGSPEED;
}
msg.alpha = value;
msg.style.opacity = (value / 100);
msg.style.filter = 'alpha(opacity=' + value + ')';
if(value >= 99) {
clearInterval(msg.timer);
msg.timer = null;
} else if(value <= 1) {
msg.style.display = "none";
clearInterval(msg.timer);
}
}

// calculate the position of the element in relation to the left of the browser //
function leftPosition(target) {
var left = 0;
if(target.offsetParent) {
while(1) {
left += target.offsetLeft;
if(!target.offsetParent) {
break;
}
target = target.offsetParent;
}
} else if(target.x) {
left += target.x;
}
return left;
}

// calculate the position of the element in relation to the top of the browser window //
function topPosition(target) {
var top = 0;
if(target.offsetParent) {
while(1) {
top += target.offsetTop;
if(!target.offsetParent) {
break;
}
target = target.offsetParent;
}
} else if(target.y) {
top += target.y;
}
return top;
}


Nu heb ik vaak dezelfde forms op een pagina met bijv een email adres erin

<input class="formulier_input" alt="email optioneel invullen" type="text" accesskey="e" id="email" name="email" />

In xhtml krijg ik dan een fout id already defined

Nou dacht ik zet de ID op id="email_
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?=$FeedbackID ?>
" en name="email_
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?=$FeedbackID ?>
" zodat het dus altijd uniek is

Hoe kan ik dit in de js plaatsen dat dus dit werkt
var email = form.email_verschillendecodes.value;

Hij moet dus checken op email_ en de rest is variabel

Alvast bedankt voor het meedenken
 
Er zijn nog geen reacties op dit bericht.



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.