У меня есть следующий код:JQuery & Handling Element идентификаторами
function mandatoryField(manF)
{
var fieldId = $(manF).val();
if(fieldId == "")
{
return false;
}
else
{
return true;
}
}
Это не работает, но это делает:
function mandatoryField()
{
var fieldId = $("#element_1").val();
if(fieldId == "")
{
return false;
}
else
{
return true;
}
}
полагаю, на моем первом примере, mandatoryField называется как таковой :
mandatoryField("#element_1")
Почему это не работает, когда я пытаюсь заменить абсолютное имя элемента с переменной?
Edit:
Самые последние код - неработающие:
function isAmExSelected()
{
return $("#creditCardType").val() == "American Express";
}
function containsOnlyDigits(str)
{
return str.match(/[^0-9]/) == null;
}
function validateCCNumber()
{
var ccn = $("#creditCardNumber").val();
var onlyDigits = containsOnlyDigits(ccn);
if(isAmExSelected())
{
return ccn.length == 15 && onlyDigits;
}
else
{
return ccn.length == 16 && onlyDigits;
}
}
function mandatoryField(manF)
{
var fieldId = $("#" + manF).val();
return fieldId != "";
}
function registerValidation(id, validateMethod(), errorMethod)
{
$(id).change(function(){
if(validateMethod() == false)
{
errorMethod();
}
});
}
$(document).ready(function(){
registerValidation("#creditCardNumber", validateCCNumber, function(){alert("Invalid Credit Card Number!")});
$('input[type=text][class=mandatory]').blur(function(){
if (mandatoryField(this.id)) {
alert('Field:' + this.id + ' is mandatory!')
}
});
});
Edit 2
Я переписать всю вещь, чтобы выглядеть следующим образом:
$('input[type=text][class=mandatory]').blur(function(){
if (!($("#" + this.id).val().length)) {
alert('Field:' + this.id + ' is mandatory!');
}
});
Если текстовый ввод обязательного класса размывается, тогда запустите функцию: if # foo.val() не имеет длины (т. в нем нет текста), запустите оповещение. Я считаю, что он должен работать, но это не так.
Может быть, вы могли бы создать http://jsfiddle.net/ для вашего примера. –
вам не нужно обязательное заполнение обязательное поле имя –
проверить мое обновление –