Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt Java Problem. Sprawdzanie wyrazu w polu
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
8005macgyver
Witam!

Chcę napisać skrypt który w polu formularza, sprawdzi mi czy owe słowo:

1. jest słowem, nie jest liczbą czy zbiorem innych znaków.
2. ma min 3 litery [nie znaki]
3. Nie jest czymś mieszanym [abc123]
4. wyrzucać błąd.

Jednym słowem, w polu imię mogą być tylko litery i nic innego.

Zrobiłem już skrypt, ale niestety przepuszcza mi wyrażenia mieszane np [zbc123] a nie powinien.

Pomożecie? Już trochę kombinowałem co jest nie tak, więc teraz wygląda jak wygląda. Chodzi o pole "imię"


Kod
<head>
<meta http-equiv="wiek-Type" wiek="text/html; charset=iso-8859-2" />
<style type="text/css">
label {
display: block;
margin: 2px;
}
</style>

<script type="text/javascript">
window.onload = Laduj;
function Laduj(){
document.forms['dodawanie_posta'].onsubmit = Verify;
}

function Verify(){
var nick = document.forms['dodawanie_posta'].nick.value;
var imie = document.forms['dodawanie_posta'].imie.value.length;
var imie1 = document.forms['dodawanie_posta'].imie.value;
var wiek = document.forms['dodawanie_posta'].wiek.value;

if (nick == "") {
document.forms['dodawanie_posta'].nick.style.border = "2px solid #FF0000";
alert('Wpisz Nick!');
return false;
}
else if (wiek == "")
{
document.forms['dodawanie_posta'].wiek.style.border = "2px solid #FF0000";
alert('Wpisz wiek!');
return false;
}
else if (imie < 3)
{
document.forms['dodawanie_posta'].imie.style.border = "2px solid #FF0000";
alert('Wpisz imie!');
return false;
}
else if (!isNaN(imie1))
{
document.forms['dodawanie_posta'].imie.style.border = "2px solid #FF0000";
alert('Wpisz imie!');
return false;
}
else {
return true;
}
}
</script>
</head>



<body>
<form method="post" action name="dodawanie_posta">
<label>Nick: <input type="text" name="nick" value /></label>
<label>imie: <input type="text" name="imie" value /></label>
<label>wiek: <input type="text" name="wiek" value /></label>

<input type="submit" value="dodaj" />
</form>
</body>
</html>
Crozin
  1. Skorzystaj z BBCode i kod wrzuć w tag [ html ], [ javascript ] czy chociażby [ code ]
  2. Zamiast zdarzenia load, powinieneś wykorzystać DOMContentReady.
  3. Stosuj jakieś sensowne nazwy zmiennych, czyli imieDlugosc, a nie jakieś imie1
  4. Do sprawdzenia czy imię ma minimum trzy znaki i znaki te są literami możesz skorzystać z wyrażeń regularnych
8005macgyver
Ok, wybacz oczywiście java skrypt, natomiast jestem świeży, jak powinien wyglądać owy skrypt?
Napisałem coś takiego, ale nie działa:

Kod
<html xmlns="http://www.w3.org/1999/xhtml" lang="pl-PL">
<head>
<meta http-equiv="nazwisko-Type" nazwisko="text/html; charset=iso-8859-2" />
</style>
<script type="text/javascript">
window.onload = Laduj;
function Laduj(){
  document.forms['dodaj'].onsubmit = Verify;
}
function Verify(){
  var imie = document.forms['dodaj'].imie.value.length;
  var nazwisko = document.forms['dodaj'].nazwisko.value;
  var wiek = document.forms['dodaj'].wiek.value;
  var litery = /^[A-Za-za]+\s{0,1}[a-zA-za]*$/;
  var error = false;
  
  if ( (imie == "") || (imie < 3) || (imie(litery) == false))
  {
    document.forms['dodaj'].imie.style.border = "2px solid #FF0000";
    alert('Wpisz Imię!');
    error = true;
  }
  if (nazwisko == "")
  {
    document.forms['dodaj'].nazwisko.style.border = "2px solid #FF0000";
    alert('Wpisz Nazwisko');
    error = true;
  }
  if (wiek == "")
  {
    document.forms['dodaj'].wiek.style.border = "2px solid #FF0000";
    alert('Wpisz Wiek');
    error = true;
  }
  if (error) {
    return false;
  }
}
</script>
</head>
<body>
  <form method="post" action name="dodaj">
    <label>Imię <input type="text" name="imie" value /></label>
    <label>Nazwisko <input type="text" name="nazwisko" value /></label>
    <label>Wiek <input type="text" name="wiek" value /></label>
    <input type="submit" value="dodaj" />
  </form>
</body>
</html>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.