Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Wordpress walidacja formularzu.
Forum PHP.pl > Forum > Przedszkole
cykcykacz
Witam,

mam taki problem stworzyłem Plugin do Wordpressa i dodałem Javascript do sprawdzania formularzy.

Po kliknięciu wyskakuje alert 'Please enter a value for the Name' ale akcja wykonuje się dalej. Pewnie jest to sprawka wordpressa ale nie wiem jak temu zardzić. Help Me.

Nie wiem jak sprawić aby po kliknięciu oczywiście jeśli dane są nie prawidłowe formularz nie zapisywał danych do bazy.

Mam to tak oprogramowane chodzi o ostatnią funkcję pokazuje alert ale po chwili formularz i tak zapisuje dane:
CODE

<script type="text/javascript">
function validateRegEx(regex, input, helpText, helpMessage) {
// Sprawdzamy czy dane wejściowe są w porządku
if (!regex.test(input)) {
// Dane są nieprawidłowe, a zatem wyświetlamy komunikat i zwracamy false
if (helpText != null)
helpText.innerHTML = helpMessage;
return false;
}
else {
// Dane są OK., zatem czyścimy komunikat i zwracamy true
if (helpText != null)
helpText.innerHTML = "";
return true;
}
}

function validateNonEmpty(inputField, helpText) {
// Sprawdzamy czy pole zawiera jakąkolwiek treść
return validateRegEx(/.+/,
inputField.value, helpText,
"Proszę podać wartość.");
}

function validateLength(minLength, maxLength, inputField, helpText) {
// Sprawdzamy czy łańcuch znaków nie jest krótszy od minLength, a jednocześnie
// czy nie jest dłuższy od maxLength.
return validateRegEx(new RegExp("^.{" + minLength + "," + maxLength + "}$"),
inputField.value, helpText,
"Proszę podać tekst o długości od " + minLength + " do " + maxLength +
" znaków.");
}

function validatecost(inputField, helpText) {
// Najpierw sprawdzamy czy pole zawieraj jakieś dane
if (!validateNonEmpty(inputField, helpText))
return false;

// Następnie sprawdzamy czy wartość wpisana w polu jest datą
return validateRegEx(/^\d{1}\,(\d{2})$/,
inputField.value, helpText,
"Proszę wpisać prawidłową cenę (np.: 14/01/1975).");
}

function placeOrder(form) {
if (
validatecost(form["pricelist_normal_monday"], form["pricelist_normal_monday_help"]) //&&

// Przesyłamy zamówienie na serwer
form.submit();
} else {
alert('Please enter a value for the Name');
return false;

}
}
</script>


Kod
<input type="submit" class="button-primary" name="submit" onclick="placeOrder(this.form);" value="<?php _e('Save Changes') ?>">


EDIT
Ok mam już prosta sprawa dla osób znających się na JS:
Kod
<input type="submit" class="button-primary" name="submit" onclick="placeOrder(this.form);" value="<?php _e('Save Changes') ?>">

zamienic na
Kod
<input type="submit" class="button-primary" name="submit" onclick="return placeOrder(this.form);" value="<?php _e('Save Changes') ?>">
ssstrz
Kod
function placeOrder(form) {
if (validatecost(form["pricelist_normal_monday"], form["pricelist_normal_monday_help"]) //&&

//TUTAJ BRAKUJE ZAMKNIĘCIA WARUNKU I KLAMRY OTWIERAJĄCEJ-------------
){
//--------------

// Przesyłamy zamówienie na serwer
form.submit();
} else {
alert('Please enter a value for the Name');
return false;

}
}

noi jak wyłącze w przeglądarce JS albo wyśle post curlem to dane się też dodadzą?
cykcykacz
Nie wiem nie sprawdzałem,
o czym poczytać?
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.