Du bist nicht eingeloggt! Möglicherweise kannst du deswegen nicht alles sehen.
  (Noch kein mods.de-Account? / Passwort vergessen?)
Zur Übersichtsseite
Hallo anonymer User.
Bitte logge dich ein
oder registriere dich!
 Moderiert von: Che Guevara


 Thema: Wert eines Eingabefelds überprüfen ( Javascript - Regulärer Ausdruck )
erste ungelesene Seite | letzter Beitrag 
psyched

psyched
Bitte beachten Javascript - Regulärer Ausdruck
Hallo,
ich habs schon im Gehirnsalat versucht, aber dort leider keine Antwort gekriegt die funktioniert hat (womit ich nicht die Fähigkeiten der dort postenden Leute in Frage stellen möchte Augenzwinkern), aber es geht nach wie vor um folgendes Script:

Ich hab ein Bilderupload-Script und möchte, wenn man das Bild hochladen, per Javascript das Eingabefeld in dem der Pfad zum Bild steht überprüfen lassen, ob da auch wirklich ein Bild drin ist.

Momentan siehts so aus:
 
PHP:
<script type="text/javascript"><!--
function chkft() { 
  var imgs = document.getElementById('image'); 
  var match = /.+\.(jpg|gif|png|jpeg|bmp)/i; 
   if(!match.test(imgs.value)) { 
      alert('Illegal filetype given, allowed: jpg, jpeg, png, gif, bmp.');
}
--></script>


Alternativ dieses:
 
PHP:
<script type="text/javascript"><!--
function chkft() { 
  var imgs = document.getElementById('image');
  if (!imgs.value.match(/.+\.(jpg|gif|png|jpeg|bmp)/i) { 
      alert('Illegal filetype given, allowed: jpg, jpeg, png, gif, bmp.');
}
--></script>


Jeweils das Script im Header und bei im
<form>
-Tag ein
onSubmit="chkft();"
eingetragen.

Leider funktioniert keine der beiden Lösungen.
Ich glaube dass es daran liegt dass der input Wert innerhalb von " " steht, leider weiß ich nicht wie ich das im Regex unterbringen soll...

Kann mir jemand helfen?
16.05.2007 13:49:52  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
White[AoT]

Arctic
ich hab jetzt deinen code nicht gelesen, jedoch scheitert dein code schon allein an der tatsache, dass du onsubmit="return functionName()" schreiben musst
16.05.2007 13:54:51  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
psyched

psyched
Hmm, daran lags aber auch nicht.
Warum muss ein Return da rein?
16.05.2007 13:59:38  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
White[AoT]

Arctic
weil du das versenden des formulars ja verhindern willst.

Weil ich grad sonst nix zu tun hatte, hab ich jetzt einfach hier mal ein kurzes Beispiel geschrieben, das dir helfen sollte.

 
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Form Validation</title>
    <script type="text/javascript">
        var allowedImageExtensions = ["gif", "jpg", "bmp", "png", "jpeg"];
        
        function validateForm(formReference) {
            var searchCriteria = new RegExp("\\.(" + allowedImageExtensions.join("|") + ")$", "i");

            var formIsValid = searchCriteria.test(formReference.elements["uploadFile"].value);
            if(formIsValid == false) {
                alert("File may not be uploaded");
                return false;
            }

            return true;
        }
    </script>
</head>
<body>
    <form method="post" action="index.php" name="uploadForm" onsubmit="return validateForm(this)">
        <input type="file" name="uploadFile" />
        <input type="submit" name="submitButton" value="Send Form" />
    </form>
</body>
</html>
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von White[AoT] am 16.05.2007 14:06]
16.05.2007 14:05:04  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
psyched

psyched
Geil, danke dir vielmals!!
16.05.2007 14:07:56  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
psyched

psyched
Hi, nachdem mir das letzte Mal so super geholfen wurde versuch ichs gleich nochmal:
 
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
  <head>
    <title>Javascript</title>
    <script type="text/javascript">
      function toggle(id1,id2) 
        {
          var getid_1 = document.getElementById(id1);
          var getid_2 = document.getElementById(id2);

          if (getid_1.style.display =='none' && getid_2.style.display == 'block')
            {
              id1.style.display = 'block';
              id2.style.display = 'none';
            }
          if (getid_1.style.display == 'block' && getid_2.style.display == 'none')
            {
              id1.style.display = 'none';
              id2.style.display = 'block';
            }
        }
    </script>
  </head>
  <body>
    <p id="eins" style="display:none;">Lorem Ipsum Dolor sit amet...</p>
      <br />
    <p id="zwei" style="display:block;">Amet Sit Dolor Ipsum Lorem...</p>
      <br />
    <a href="#" onClick="javascript:toggle(eins,zwei);">Switch</a>
  </body>
</html>


Beim Klicken auf
switch
soll das eine Element sichtbar gemacht werden, das andere aber verschwinden und umgekehrt.
Was habe ich falsch gemacht?
22.05.2007 19:02:52  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Zensiert

AUP Zensiert 28.11.2007
 
Zitat von psyched

 
PHP:
...
   var getid_1 = document.getElementById(id1);
   var getid_2 = document.getElementById(id2);
..
    id1.style.display = 'block';
    id2.style.display = 'none';
...


Beim Klicken auf
switch
soll das eine Element sichtbar gemacht werden, das andere aber verschwinden und umgekehrt.
Was habe ich falsch gemacht?[/b]

22.05.2007 19:09:37  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
psyched

psyched
 
PHP:
    <script type="text/javascript">
      function toggle(id1,id2) 
        {
          var getid_1 = document.getElementById(id1);
          var getid_2 = document.getElementById(id2);

          if (getid_1.style.display =='none' && getid_2.style.display == 'block')
            {
              getid_1.style.display = 'block';
              getid_2.style.display = 'none';
            }
          else if (getid_1.style.display == 'block' && getid_2.style.display == 'none')
            {
              getid_1.style.display = 'none';
              getid_2.style.display = 'block';
            }
        }
    </script>


So also?
Funktioniert auch nicht...
22.05.2007 19:15:01  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Zensiert

AUP Zensiert 28.11.2007
<a href="#" onClick="javascript:toggle(eins,zwei);">Switch</a>

Da fehlen noch die '

<a href="#" onClick="javascript:toggle('eins','zwei');">Switch</a>
22.05.2007 19:22:44  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
psyched

psyched
Juhu, danke \o/

/ wie lange gibts eigentlich noch das Prost-Reply? Und warum? Mata halt...
22.05.2007 19:40:48  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
*Reeno*

Leet
Aber immer schön noch serverseitig validieren.
26.05.2007 22:47:07  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
psyched

psyched
Natürlich, aber damit spart man sich wenigstens die Uploadzeit
27.05.2007 19:00:11  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
 Thema: Wert eines Eingabefelds überprüfen ( Javascript - Regulärer Ausdruck )


mods.de - Forum » Webdesign & Coding » 

Hop to:  

Thread-Tags:
| tech | impressum