webForumDet fria alternativet

Vad gör denna kod?

5 svar · 225 visningar · startad av G8

G8Medlem sedan jan. 2001931 inlägg
#1

Vad gör denna kod?

<script language="javascript" type="text/javascript">
<!-- hide begin
  function ValidateInput(frm) {
    var msg = "";
    if (!frm.CallerName.value) {
      msg += ' - enter your login name\n';
    } else {
      var chkRegExp = /[^A-Za-z0-9&_]/;
      var isValid = !chkRegExp.test(frm.CallerName.value);
      if (!isValid) {
        msg += ' - provide valid LOGIN NAME, e.g. lastnameab\n';
      }
    }
    if (!frm.CallerDept.value) msg += ' - enter your department\n';
    if (frm.CallerDept.value == 'dummy') msg += ' - select your department\n';
    if (!frm.CallerExt.value) {
      msg += ' - enter your extension\n';
    } else {
      var chkRegExp = /[^x0-9 -]/;
      var isValid = !chkRegExp.test(frm.CallerExt.value);
      if (!isValid) {
        msg += ' - provide valid extension, e.g. 7676 or x7430\n';
      }
    }
    if (!frm.ProblemDesc.value) msg += ' - enter request description\n';
    // E-mail address
    var em = frm.CallerEMail.value;
    // ... empty is allowed - no notifications
    if (em != "") {
      // ... has to end with @domain.com
      if (em.indexOf('@domain.com') == -1) {
        msg += ' - enter your e-mail address\n';
      }
    }

    if (msg.length > 0) {
      alert('Please correct the following:\n\n' + msg);
      return false;
    } else {
      return true;
    }
  }

/*
  function EMailFix(frm) {
    var sEMail=frm.CallerEMail.value;
    if ((sEMail.indexOf('@') == -1) && (sEMail != ""))
    {
      frm.CallerEMail.value = frm.CallerEMail.value + "@domain.com";
    }
  }
*/

  function SetFocus() {
    document.main_form.CallerEMail.focus();
  }
// hide end -->
</script>

...och hur skriver jag ut värdet på det som står innan @domain.com?

pettssonMedlem sedan jan. 2002777 inlägg
#2

Skriptet verifierar data i ett formulär.
Om angiven mailadress saknar @domän.com kommer frm.CallerEMail.value att innehålla det du söker, annars kan du få ut det mha

frm.CallerEMail.value.substring(0, frm.CallerEMail.value.indexOf('@'));
G8Medlem sedan jan. 2001931 inlägg
#3

Tack pettsson,

hur skriver jag ut det på sidan då?

<script>document.write(frm.CallerEMail.value.substring(0, frm.CallerEMail.value.indexOf('@'));</script>

Får bara scriptfel så jag antar att det är fel ;)

@ndersMedlem sedan juni 200026 914 inlägg
#4

Ett tips till att börja med kan ju vara att räkna start- och slutparenteser.

nitro2k01Medlem sedan aug. 20037 630 inlägg
#5

Problemet med koden ovan är att document.write måste användas innan sidan är laddad, med att du inte kan komma åt formuläret innan den är det.
Om du bara vill kolla värdet kan du använda alert(...), annars kan du skapa en div och använda document.getElementById("Divens_id").innerHTML = ...
MEN! I bdåa fallen måste du se till att sidan är laddad när koden körs, t ex genom att placera koden i ett onclick-attribut till en länk.

G8Medlem sedan jan. 2001931 inlägg
#6

Ok, tack för hjälpen allihopa :)

Genererad på 427 ms · cache AV · v20260730165559-full.f96bc7eb