[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: проверка данных
Jokeryuga
Доброго времени суток!хотел сделать проверку введённых данных кредитного калькулятора, но так как делаю не работает)вообщем смысл такой:сначала проверка на данные,если не правильно введённые,то алерт,если всё норм,то функция formHandler. вот код-
<form action="/pyrocms/addons/shared_addons/themes/interchange/data/text.php" method="POST"  onsubmit="formHandler(this);return false">
<
b>Выберите банк из списка: </b>'.$content.'</br>
<
b>Срок кредитования(месяцы):</b> <input type="mytext" name="srok" /><br />
<
b>Сумма кредита:</b> <input type="mytext" name="summ" /><br />
<
input onclick="return provDataGuest(this.form);" type="submit" value="Рассчитать" />

</
form>
function provDataGuest(data)
{
re = /^\d+$/;
if (data.srok.value <= 0 || data.srok.value == "" || data.srok.value*1 != Math.abs(data.srok.value) || !re.test(data.srok.value)) {
alert("Введите правильный срок кредитования!");
return false;
}

//все обязательные данные введены, поэтому отправляем форму
obj_form.submit();
}

function formHandler(formEl) {
re = /^\d+$/;
if (srok.value <= 0 || srok.value == "" || srok.value*1 != Math.abs(srok.value) || !re.test(srok.value)) {
alert("Введите правильный срок кредитования!");
var param=$(formEl).serializeArray();

$.post(formEl.action, param, function(data){

calcResEl = document.createElement(\'div\');
document.body.appendChild(calcResEl);
calcResEl.id = \'calcRes\';
calcResEl.appendChild(document.createElement(\'div\'));

$(\'#calcRes div\').html(data);
$(\'#calcRes\').css({position:\'absolute\',display:\'block\',opacity:0});
$(\'#calcRes\').animate({opacity:1},500);
});

};
</
script>'
запутался я короче)))помогите пожалуйста.
p.s. думал из функции функцию вызвать попробовать,но имел в этом направлении тоже неудачу,так что пробовать не стал...а так идея была такая: если в ф-ии provDataGuest всё норм,то вызов formHandler



Спустя 48 минут, 14 секунд (2.02.2012 - 18:18) nugle написал(а):
А это что за бред, зачем экранировать кавычки?
calcResEl = document.createElement(\'div\');
document.body.appendChild(calcResEl);
calcResEl.id = \'calcRes\';
calcResEl.appendChild(document.createElement(\'div\'));

$(\'#calcRes div\').html(data);
$(\'#calcRes\').css({position:\'absolute\',display:\'block\',opacity:0});
$(\'#calcRes\').animate({opacity:1},500);

Спустя 19 минут, 47 секунд (2.02.2012 - 18:38) Jokeryuga написал(а):
Цитата (nugle @ 2.02.2012 - 15:18)
А это что за бред, зачем экранировать кавычки?
calcResEl = document.createElement(\'div\');
document.body.appendChild(calcResEl);
calcResEl.id = \'calcRes\';
calcResEl.appendChild(document.createElement(\'div\'));

$(\'#calcRes div\').html(data);
$(\'#calcRes\').css({position:\'absolute\',display:\'block\',opacity:0});
$(\'#calcRes\').animate({opacity:1},500);

честно,незнаю...подсказали как сделать.сам разбирался,но так и не понял,оставил пока так,потом буду пробовать делать как нужно.

Спустя 16 минут, 7 секунд (2.02.2012 - 18:54) Ser18 написал(а):
Кавычки экранировать не надо

Поставьте себе фаербаг и увидите ошибки

Спустя 1 минута, 29 секунд (2.02.2012 - 18:56) nugle написал(а):
Jokeryuga
а в чем собственно проблема? какие ошибки?

Спустя 5 минут, 39 секунд (2.02.2012 - 19:01) Jokeryuga написал(а):
Цитата (nugle @ 2.02.2012 - 15:56)
Jokeryuga
а в чем собственно проблема? какие ошибки?

ошибок нет...мне нужно проверить поля суммы и срока по всем критериям(число,есть или нет и т.д.),но не пойму как...

Спустя 9 минут, 43 секунды (2.02.2012 - 19:11) nugle написал(а):
как ты пробовал из одной функции вызывать другую, покажи

Спустя 17 минут, 28 секунд (2.02.2012 - 19:28) Jokeryuga написал(а):
Цитата (nugle @ 2.02.2012 - 16:11)
как ты пробовал из одной функции вызывать другую, покажи

конкретно здесь не пробовал. а примерно пробовал так:
function1(par1){
function2(par1);
действия function1;
}

Спустя 1 час, 2 минуты, 4 секунды (2.02.2012 - 20:30) Jokeryuga написал(а):
кто нибудь помогите пожалуйста!!!

Спустя 1 час, 5 минут, 33 секунды (2.02.2012 - 21:36) bodja написал(а):
У вас тут ошибок вагон.
Старайтесь решать задачу от простого к сложному,а то накидали кучу кода с кучей ошибок,а потом незнаете ,что делать.
Теперь ближе к теме.
Для каждого поля пропишите свой ид ,а не наме.
здесь.
Цитата
<input onclick="return provDataGuest(this.form);" type="submit" value="Рассчитать" />

type="submit" - убрать.
здесь
Цитата
<form action="/pyrocms/addons/shared_addons/themes/interchange/data/text.php" method="POST"  onsubmit="formHandler(this);return false">

onsubmit="formHandler(this);return false" - убрать
далее,откуда у вас взялось?
Цитата
obj_form

Далее ,если убойно лень каждый раз писать типа document.getElementById().
Можно для себя укротить например.

function el(el) {
return document.getElementById(el);
}


потом уже пишем типа

Цитата
el('id_elem1').value
el('id_elem2').innerHTML
el('id_elem3').style.opacity=1; и т.д.


приведите в порядок,потом продолжим.

Спустя 2 часа, 17 минут, 15 секунд (2.02.2012 - 23:53) Jokeryuga написал(а):
Цитата (bodja @ 2.02.2012 - 18:36)
У вас тут ошибок вагон.
Старайтесь решать задачу от простого к сложному,а то накидали кучу кода с кучей ошибок,а потом незнаете ,что делать.
Теперь ближе к теме.
Для каждого поля пропишите свой ид ,а не наме.
здесь.
Цитата
<input onclick="return provDataGuest(this.form);" type="submit" value="Рассчитать" />

type="submit" - убрать.
здесь
Цитата
<form action="/pyrocms/addons/shared_addons/themes/interchange/data/text.php" method="POST"  onsubmit="formHandler(this);return false">

onsubmit="formHandler(this);return false" - убрать
далее,откуда у вас взялось?
Цитата
obj_form

Далее ,если убойно лень каждый раз писать типа document.getElementById().
Можно для себя укротить например.

function el(el) {
return document.getElementById(el);
}


потом уже пишем типа

Цитата
el('id_elem1').value
el('id_elem2').innerHTML
el('id_elem3').style.opacity=1; и т.д.


приведите в порядок,потом продолжим.

если всё поубирать,то и кнопки не будет...

Спустя 10 минут, 25 секунд (3.02.2012 - 00:04) Jokeryuga написал(а):
вообщем если как Вы сказали сделать,то получилось следующее:
<style type="text/css">
#calcRes {top:120px;left:0;width:100%;display:none;z-index:20000}
#calcRes div {postion:relative;width:80%;margin:0 auto;background:#eee;border:4px solid #aaa;padding:8px}
</style>

<form
action="/pyrocms/addons/shared_addons/themes/interchange/data/text.php" method="POST">
<b>
Выберите банк из списка: </b>'.$content.'</br>
<b>
Срок кредитования(месяцы):</b> <input type="mytext" id="srok" /><br />
<b>
Сумма кредита:</b> <input type="mytext" id="summ" /><br />
<input
onclick="provDataGuest(data);" value="Рассчитать" />

</form>
какой type ставить?и про функцию не понял если честно...

Спустя 1 час, 53 минуты, 5 секунд (3.02.2012 - 01:57) bodja написал(а):
Ставим тип "button",
насчет функции ,гляньте ниже,я думаю поймете.
<script type="text/javascript">
function el(el) {
return document.getElementById(el);
}
window.onload=function() {
el('button').onclick=function(){
if (parseInt(el('srok').value) == 0 || el('srok').value == "") {
alert("Введите правильный срок кредитования!");
}
else{
alert('все правильно,кредитуем на '+el('srok').value+" месяцев");
el('myform').submit();
}
}
}

</script>
<
link href="default.css" rel="stylesheet" type="text/css" />
<
style type="text/css">
#calcRes {top:120px;left:0;width:100%;display:none;z-index:20000}
#calcRes div {postion:relative;width:80%;margin:0 auto;background:#eee;border:4px solid #aaa;padding:8px}
</style>
</
head>
<
body>

<
form action="http://ya.ru" method="POST" id="myform">
<
b>Выберите банк из списка: </b>ssss</br>
<
b>Срок кредитования(месяцы):</b> <input type="text" id="srok" name="srok" value=""/><br />
<
b>Сумма кредита:</b> <input type="text" id="summ" name="summ" /><br />
<
input id="button" type="button" value="Рассчитать" />

</
form>

</
body>

Спустя 8 часов, 49 минут, 56 секунд (3.02.2012 - 10:47) Jokeryuga написал(а):
Цитата (bodja @ 2.02.2012 - 22:57)
Ставим тип "button",
насчет функции ,гляньте ниже,я думаю поймете.
<script type="text/javascript">
function el(el) {
return document.getElementById(el);
}
window.onload=function() {
el('button').onclick=function(){
if (parseInt(el('srok').value) == 0 || el('srok').value == "") {
alert("Введите правильный срок кредитования!");
}
else{
alert('все правильно,кредитуем на '+el('srok').value+" месяцев");
el('myform').submit();
}
}
}

</script>
<
link href="default.css" rel="stylesheet" type="text/css" />
<
style type="text/css">
#calcRes {top:120px;left:0;width:100%;display:none;z-index:20000}
#calcRes div {postion:relative;width:80%;margin:0 auto;background:#eee;border:4px solid #aaa;padding:8px}
</style>
</
head>
<
body>

<
form action="http://ya.ru" method="POST" id="myform">
<
b>Выберите банк из списка: </b>ssss</br>
<
b>Срок кредитования(месяцы):</b> <input type="text" id="srok" name="srok" value=""/><br />
<
b>Сумма кредита:</b> <input type="text" id="summ" name="summ" /><br />
<
input id="button" type="button" value="Рассчитать" />

</
form>

</
body>

всё отлично,только вот до этого у меня открывалась таблица с расчётами как бы в модальном окне...а сейчас просто на отдельной странице

Спустя 2 часа, 58 минут, 44 секунды (3.02.2012 - 13:45) nugle написал(а):
Jokeryuga
потому, что функцию убрал ты вместе с bodja

Спустя 6 часов, 53 минуты, 2 секунды (3.02.2012 - 20:38) Jokeryuga написал(а):
Цитата (nugle @ 3.02.2012 - 10:45)
Jokeryuga
потому, что функцию убрал ты вместе с bodja

а как же обратно сделать модальное окно????

Спустя 1 час, 51 минута, 32 секунды (3.02.2012 - 22:30) nugle написал(а):
я так понимаю вот этот файл отвечает за окно. Попробуй прикрепить.
function formHandler(formEl) {
re = /^\d+$/;
if (srok.value <= 0 || srok.value == "" || srok.value*1 != Math.abs(srok.value) || !re.test(srok.value)) {
alert("Введите правильный срок кредитования!");
var param=$(formEl).serializeArray();

$.post(formEl.action, param, function(data){

calcResEl = document.createElement(\'div\');
document.body.appendChild(calcResEl);
calcResEl.id = \'calcRes\';
calcResEl.appendChild(document.createElement(\'div\'));

$(\'#calcRes div\').html(data);
$(\'#calcRes\').css({position:\'absolute\',display:\'block\',opacity:0});
$(\'#calcRes\').animate({opacity:1},500);
});

};

Спустя 14 часов, 22 минуты, 14 секунд (4.02.2012 - 12:52) Jokeryuga написал(а):
Цитата (nugle @ 3.02.2012 - 19:30)
я так понимаю вот этот файл отвечает за окно. Попробуй прикрепить.
function formHandler(formEl) {
re = /^\d+$/;
if (srok.value <= 0 || srok.value == "" || srok.value*1 != Math.abs(srok.value) || !re.test(srok.value)) {
alert("Введите правильный срок кредитования!");
var param=$(formEl).serializeArray();

$.post(formEl.action, param, function(data){

calcResEl = document.createElement(\'div\');
document.body.appendChild(calcResEl);
calcResEl.id = \'calcRes\';
calcResEl.appendChild(document.createElement(\'div\'));

$(\'#calcRes div\').html(data);
$(\'#calcRes\').css({position:\'absolute\',display:\'block\',opacity:0});
$(\'#calcRes\').animate({opacity:1},500);
});

};

что то не получается...а получившееся нельзя в модальном окне вывести???

Спустя 1 день, 2 часа, 16 минут, 18 секунд (5.02.2012 - 15:09) Jokeryuga написал(а):
вопрос открыт...никто не может помочь???пожалуйста!!!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.