2013-12-17 2 views
0

Я хочу изменить этот код:Javascript с проверкой входных данных

  $(document).on('change', '.full_w form .body input.beschrijving:last', function(event) { 
       $('.full_w form .body').append('<input id="a" class="beschrijving" style="width: 430px" type="text" name="beschrijving[]" /> <input style="width: 54px" type="text" maxlength="" name="aantal[]" /> <input style="width: 94px" type="text" maxlength="" name="prijs[]" /> <input style="width: 18px" type="text" maxlength="" name="btwp[]" /><br /><br />'); 
      }); 
     }); 

Чтобы что-то вроде этого:

$(document).on('change', '.full_w form .body input.beschrijving:last', function(event) { 
       $('.full_w form .body').append('<input id="a" class="beschrijving" style="width: 430px" type="text" name="beschrijving[]" oninvalid="setCustomValidity('Voer een beschrijving toe')" onchange="try{setCustomValidity('')}catch(e){}"/> <input style="width: 54px" type="text" maxlength="" name="aantal[]" pattern="\d+" oninvalid="setCustomValidity('Vul een aantal in')" onchange="try{setCustomValidity('')}catch(e){}" /> <input style="width: 94px" type="text" maxlength="" name="prijs[]" pattern="\d+(\.\d{2})?" oninvalid="setCustomValidity('Voer een prijs in van uw product')" onchange="try{setCustomValidity('')}catch(e){}" /> <input style="width: 18px" type="text" maxlength="" name="btwp[]" pattern="\d+" oninvalid="setCustomValidity('Vul een btw bedrag in 0 tot 100')" onchange="try{setCustomValidity('')}catch(e){}" /><br /><br />'); 
      }); 
     }); 

я не могу получить это работает, так что я надеюсь, что кто-то может помочь мне с этим

EDIT

Эта линия необходимо изменить: От:

.append('<input id="a" class="beschrijving" style="width: 430px" type="text" name="beschrijving[]" /> 

Для этого

.append('<input id="a" class="beschrijving" style="width: 430px" type="text" name="beschrijving[]" oninvalid="setCustomValidity('Voer een beschrijving toe')" onchange="try{setCustomValidity('')}catch(e){}"/> 
+3

Не могли бы вы поместить краткое текстовое описание изменения вы хотите? Большая часть кода, который по необходимости находится на одной строке, трудно читать. – Manishearth

+0

Во-первых, вы не ускользнули от своих кавычек, есть «внутри» внутри «, который сломается. Во-вторых, напишите код как часть функций в теге скрипта, а затем вызовите их из onvalids – Manishearth

+0

Do not поставьте правильное входное подтверждение. Реализуйте реальное решение, например http://jqueryvalidation.org/ –

ответ

0

эй спариваться я не уверен, что он будет работать или нет, но попробуйте с этим

$(document).on('change', '.full_w form .body input.beschrijving:last', function(event) { 
    $('.full_w form .body').append('<input id="a" class="beschrijving" style="width: 430px" type="text" name="beschrijving[]" oninvalid="setCustomValidity(\"Voer een beschrijving toe\")" onchange="try{setCustomValidity(/"/")}catch(e){}"/> <input style="width: 54px" type="text" maxlength="" name="aantal[]" pattern="\d+" oninvalid="setCustomValidity(/"Vul een aantal in/")" onchange="try{setCustomValidity(/"/")}catch(e){}" /> <input style="width: 94px" type="text" maxlength="" name="prijs[]" pattern="\d+(\.\d{2})?" oninvalid="setCustomValidity(/"Voer een prijs in van uw product/")" onchange="try{setCustomValidity(/"/")}catch(e){}" /> <input style="width: 18px" type="text" maxlength="" name="btwp[]" pattern="\d+" oninvalid="setCustomValidity(/"Vul een btw bedrag in 0 tot 100/")" onchange="try{setCustomValidity(/"/")}catch(e){}" /><br /><br />'); 
}); 
0

Вы имеете проблему с кавычками, обратный слеш ' в ваших вызовов функций, Попробуйте это:

.append('<input id="a" class="beschrijving" style="width: 430px" type="text" name="beschrijving[]" oninvalid="setCustomValidity(\"Voer een beschrijving toe\")" onchange="try{setCustomValidity(\"\")}catch(e){}"/> '); 
+0

Это тоже не работает – KevinKuijer

+0

Да, у вас была другая ошибка, попробуйте сейчас –

0

ahhh Если я правильно понял, вы хотите добавить элемент, а также добавить к нему несколько событий. Вы должны сделать это что-то вроде этого: (Есть много способов сделать это, это только один)

.append($('<input/>').on('change',function(){ /* do something */ }) 
        .on('valid', function(){ /* do something else */ })); 

Надеется, что это помогает

+0

Спасибо, это сработало! – KevinKuijer

Смежные вопросы