Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Проблема с проверкой формы! (https://javascript.ru/forum/dom-window/32908-problema-s-proverkojj-formy.html)

Pavel_G 03.11.2012 19:12

Проблема с проверкой формы!
 
Ребята нужна помощь!
Я не оч хорошо разбираюсь в js по этому написал простую проверочку формы:
{literal}
          <script type="text/javascript">
<!--

function validate_form ( )
{
	valid = true;

        if ( document.product-order-form.phone.placeholder == "" )
        {
                alert ( "Пожалуйста заполните все поля." );
                valid = false;
        }

        return valid;
}

//-->
</script>
{/literal}



Ах да, вставляю js в smarty по этому {literal}{/literal}



Имеется вот такая форма:

<form class="product-order-form" name="product-order-form" method="post" action="/modules/mod_callme/ajax/sendmail.php" onsubmit="return validate_form ( );">
                    <div class="{if $item.old_price > 0}newprice{else}price{/if}" style="float:right;"><table class="pricebox"><tbody><tr><td><img src="/images/dollar.png" alt="" /></td><td class="price1"><b>{php}echo number_format($this->_tpl_vars['item']['price'], 0, '.', ' '){/php}
		    <span class="rub"><span class="tire2">&ndash;</span><span class="tire">-</span><span class="bukva_p">P</span></span></b></td></tr></tbody></table></div>           
					<div class="header">Уже хочу!</div>
					<p class="hint">
                        Мы свяжемся с вами в самое ближайшее время.
                    </p>
                    <div class="row">
                        <input type="text" name="name" placeholder="Ваше имя:" class="input" />
                    </div>
                    <div class="row">
                        <input type="text" name="phone" placeholder="Контактный телефон:" class="input" />
                    </div>
                    <div class="row">
                        <textarea name="comment" placeholder="Ваш комментарий к заказу:" class="input"></textarea>
                    </div>
                    <div class="buttons">
			<table class="dostavkatwohours" style="font-family:'Arial' sans-serif; font-weight: bold; "><tbody><tr><td><img src="/images/car.png" alt="" /></td><td><u><b><a style="color:black;" href="/dostavka.html">Доставка</a></b></u> за 2 часа</td></th></tbody></table>
                        <div class="kbut"><div class="buywrapper">
						<!--<a id="callmebut92" class="knopka" href="/modules/mod_callme/ajax/shoporder.php?sid={$sid}&mid=92&id={$item.id}"><img src="/images/buy.png" alt="" /></a>-->
						<input type="image" src="/images/buy.png" class="knopka" name="redirect" value="Купить">
						</div></div>


Дак вот я не пойму почему не работает!
Прошу помощи у центрального ресурса по js!
Спасибо всем откликнувшимся.
Если что не понятно пишите прокомментирую!

melky 03.11.2012 19:55

обрамите код в теги, его трудно читать.

http://javascript.ru/formatting

Pavel_G 03.11.2012 20:32

Поправил взгляните пожалуйста!

melky 03.11.2012 22:21

Цитата:

Сообщение от Pavel_G (Сообщение 213924)
Поправил взгляните пожалуйста!

вот здесь

document.product-order-form.phone.placeholder == ""

минус - это арифметическая операция

используйте квадратные скобки, либо getElementsByName - что это, обычно изучают намного раньше, чем начинают проверять формы ;)

Pavel_G 04.11.2012 00:17

Цитата:

Сообщение от melky (Сообщение 213943)
вот здесь

document.product-order-form.phone.placeholder == ""

минус - это арифметическая операция

используйте квадратные скобки, либо getElementsByName - что это, обычно изучают намного раньше, чем начинают проверять формы ;)

Спасибо за помощь но вы не могли бы написать как должна выглядеть строка чтоб это заработало? Спасибо.

a_l 04.11.2012 01:01

А зачем вам считывать placeholder? Чтобы узнать, есть текст в поле или нет, нужно обращаться к свойству value. Код:
if(document.getElementsByName('phone')[0].value === '') alert ( "Пожалуйста заполните все поля." );

Pavel_G 04.11.2012 09:41

Блин. все равно не работает:-/

a_l 04.11.2012 10:50

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

Pavel_G 05.11.2012 11:34

a_l, Огромное вам спасибо! Вы выручили меня! Все работает! Спасибо! Буду должен:)


Часовой пояс GMT +3, время: 13:12.