Hey landmark,
Jeg sidder netop nu pg ser på din fil, og det ser ud som om du er ganske tæt på.
Du skal, først og fremmest, flytte al scriptet fra knappen til din 1. frame. Som det er nu, har du indsat min kode på knappen, men en del af det er frame script og skal ikke på knappen. For nemheds skyld, så markér din knap, og giv den instance navnet 'btn' (uden ' '). Det eneste du så skal gøre er, at indsætet denne kode i din 1. frame. Markér frame 1 og indsæt efterfølgende:
// frame script
stop();
// variabel der bruges til at tjekke antal ok must fields
sendMail = 0;
// de tekster du kan vise i dine fields hvis de er udfyldt forkert
navnString = "screencom";
emailString = "hl@1w.dk";
// antal fields der er et must, her navn og email
antalMust = 2;
// array der indeholder tekstfelternes instance navne, bruges til at lave tabindex
selections = new Array("navn", "www", "email", "besked");
// løkke der skaber tabindex samt en onFocus funktion der tømmer tekstfelter
// on click hvis de er udfyldt med ovenstående strings
for (i=0; i<selections.length; i++) {
theName = selections[i];
this[theName].tabIndex = i+1;
this[theName].onSetFocus = function() {
if (this.text == navnString || this.text == emailString) {
this.text = "";
}
};
}
// sætter fokus på første tekstfelt
Selection.setFocus(navn);
// som navnet fortæller, tjekker din email-string for @, punktummer etc.
// lavet af D!ktator i sin tid :0)
function snabelA(strEmail) {
var checkOn = 1;
checkOn = checkOn && (a=strEmail.indexOf("@"))>0;
checkOn = checkOn && a == strEmail.lastIndexOf("@");
checkOn = checkOn && a<strEmail.lastIndexOf(".");
checkOn = checkOn && substring(strEmail, a+2, 1) != ".";
checkOn = checkOn && substring(strEmail, a, 1) != ".";
checkOn = checkOn && (strEmail.lastIndexOf(".")+2)<strEmail.length;
checkOn = checkOn && (strEmail.lastIndexOf(".")+6)>strEmail.length;
return checkOn;
}
// funktionen der kaldes fra knappem
function buttonCall() {
// hvis name ikke er skrevet eller er udfyldt af string ovenfor sendes mail ikke
if (navn.text == "" || navn.text == null || navn.text == navnString) {
navn.text = navnString;
sendMail--;
} else {
sendMail++;
}
// hvis mail ikke er korrekt, ikke skrevet eller udfyldt af emailString sendes mail ikke
if (snabelA(email.text)) {
sendMail++;
} else {
email.text = emailString;
sendMail--;
}
// hvis de to variabler er ens er felter udfyldt korrekt og mail sendes
if (sendMail == antalMust) {
trace("send mail");
// brugt fra din skabelon:
subject = "svar via formmail";
recipient = "hl@1w.dk";
redirect = "
http://www.1w.dk/tom.html"; loadVariables("
http://www.damo.dk/cgi-bin/FormMail.pl", "", "POST");
this.gotoAndStop("sendt");
//
}
sendMail = 0;
}
btn.onRelease = function() {
buttonCall();
};
Der er bare én ting, og det er at du har ændret variablerne navnString og emailString. De bliver, somdu nok har forstået, brugt til at indsætte en comment om at man ikke har udfyldt input fields korrekt. Så jeg mener du bør ændre dem tilbage til 'Skriv dit navn her' etc.
Men som sagt burde det virke hvis du gør som jeg foreslår, ellers giv lidt feedback.
mvh
paask