Jump to content
  • 0

onClick=agreeForm(this.form) проблема


13DureX
 Share

Question

Имеется некая форма заказа, после которой идет уведомление на почту, в котором отображается введеная информация. Имя, телефон, дата заезда, отьезда, количество детей, дополнительная информация. С условиями заказа, и при согласии с которыми только активизируется кнопка отправки.

   
/**************************************************
SHOW CONTACT BUSINESS DIRECTLY BY EMAIL FORM
**************************************************/

function contactBusiness( $option, &$row ) {
global $database, $Itemid, $mainframe, $my, $id, $mosConfig_live_site, $mosConfig_usecaptcha;

$link2 = $mosConfig_live_site. '/index2.php?option=com_ezrealty&task=sendbusinesscontact&Itemid='. $Itemid;
# Add to Mailing List Form Check

?>
<script type="text/javascript">
<!--
function validateviewing() {
var form = document.viewing;
// do field validation
if (form.apptname.value == "") {
alert( "<?php echo _EMAIL_ERROR1;?>" );
} else if (form.apptmail.value == "") {
alert( "<?php echo _EMAIL_ERROR2;?>" );
} else if (form.telephone.value == "") {
alert( "<?php echo _EMAIL_ERROR3;?>" );
} else if (form.datetime.value == "") {
alert( "<?php echo _EMAIL_ERROR9;?>" );
} else {
document.viewing.action = '<?php echo $link2; ?>';
document.viewing.submit();
}
}
//-->
</script>
<script>
function agreeForm(f) {
if (f.agree.checked) f.submit.disabled = 0
else f.submit.disabled = 1
}
</script>

<table width="100%" cellspacing="0" cellpadding="3">
<tr>
<td class="sectiontableheader"><?php echo _VIEWDET_VIEWING;?></td>
</tr>
</table>
<form class="form" name="viewing" action="<?php echo $link2;?>" method="post">
<input type="hidden" name="option" value="com_ezrealty" />
<input type="hidden" name="Itemid" value="<?php echo $Itemid;?>" />
<input type="hidden" name="task" value="sendbusinesscontact" />
<input type="hidden" name="id" value="<?php echo $id;?>" />
<table align="center" width="300" border="0" cellspacing="1" cellpadding="3">
<tr><td width="30%" valign="top"><?php echo _VIEWDET_VNAME;?>:
<input type="text" name="apptname" size="18" class="inputbox" maxlength="100" /></td></tr>

<tr><td width="30%" valign="top"><?php echo _VIEWDET_VMAIL;?>:
<input type="text" name="apptmail" size="18" class="inputbox" maxlength="100" /></td></tr>

<tr><td width="30%" valign="top"><?php echo _VIEWDET_VPHONE;?>:
<input type="text" name="telephone" size="18" class="inputbox" maxlength="100" /></td></tr>

<tr><td width="30%" valign="top">Количество взрослых:  <input type="text" name="old" size="5" class="inputbox" maxlength="100" />,  детей: <input type="text" name="children" size="5" class="inputbox" maxlength="100" /> </td></tr>

<tr><td width="30%" valign="top">Дата заезда:
<INPUT id=date_depart onblur=clearInterval(dataTimeId); size="18" maxlength="100" onfocus="startData('depart');" value=дд/мм/гг name="datein"></td></tr>

<tr><td width="30%" valign="top">Дата отъезда:
<INPUT id=date_depart onblur=clearInterval(dataTimeId); size="18" maxlength="100" onfocus="startData('depart');" value=дд/мм/гг name="dateout"></td></tr>

<tr><td width="30%" valign="top">Дополнительная информация:
<textarea name="datetime" class="inputbox" rows="3" cols="50"></textarea></td></tr>
<tr><td colspan="2" valign="top">

<center><b>УСЛОВИЯ ЗАКАЗА</b></center>
<textarea cols="50" rows="7" readonly>
Старайтесь сделать заказ как минимум за 5 дней до приезда бла бла бла
</textarea>
<p><input type="checkbox" name="agree" onClick="agreeForm(this.form)"> Я согласен со всеми условиями</p>
</td></tr>

<tr><td colspan="2" valign="top"><input type="submit" name="submit" value="Оставить заявку" class="button" onclick="validateviewing()" disabled="disabled" /></td></tr>
</table>
</form>
<?php

}

Нужно, чтоб если присутствуют не введеные данные в поля, чтоб форма не отправлялась на имейл, а у меня получается что если не ввел ничего кроме имейла, то форма все равно отправляется, хотя и пишется ошибка. Помогите пожалуйста, или где копать, а то уже голову сломал.

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0
А если ты введешь только datetime.value то как работает?

Нет, не работало, можно было не вводить любое поле, кроме валидного имейла, потомучто его еще раз уже в скрипте проверяло при отправки на наличие собаки, впрочем проблему исправил, кроме мелких недочетов которые со временем накопал по форме(input type="buttonк а не submit) оказалось, что просто нужно было кнопки потврждения дать другое название. В нашем случае submit . Присваивалось значение form.submit , которое должно как бы отправлять содержимое, значение нашей кнопки, которое на является значением, впрочем налепил ерунды, тот кто разбирается поймет ;)

Вот валидный код, если кому пригодится:

<script type="text/javascript"><!--
function validateviewing() {
var form = document.all ('viewing');
// do field validation
if (form.apptname.value == "") {
alert( "<?php echo _EZREALTY_EMAIL_ERROR1;?>" );
form.apptname.focus();
return -1;
} else if (form.apptmail.value == "") {
alert( "<?php echo _EZREALTY_EMAIL_ERROR2;?>" );
form.apptmail.focus();
return -1;
} else if (form.telephone.value == "") {
alert( "<?php echo _EZREALTY_EMAIL_ERROR3;?>" );
form.telephone.focus();
return -1;
} else if (form.datetime.value == "") {
alert( "<?php echo _EZREALTY_EMAIL_ERROR9;?>" );
form.datetime.focus();
return -1;
} else if (form.old.value == "") {
alert('Введите количество взрослых');
form.old.focus();
return -1;

} else if (form.children.value == "") {
alert('Введите количество детей');
form.children.focus();
return -1;
} else if (form.datein.value == "") {
alert('Введите дату заезда');
form.datein.focus();
return -1;
} else if (form.dateout.value == "") {
alert('Введите дату отьезда');
form.dateout.focus();
return -1;
} else {
document.viewing.action = '<?php echo $link2; ?>';
document.viewing.submit();
}
}
//-->
</script>
<script type="text/javascript">
function agreeForm(f) {
if (f.agree.checked) f.submited.disabled = 0
else f.submited.disabled = 1
}
</script>

<table width="100%" cellspacing="0" cellpadding="3">
<tr>
<td class="sectiontableheader"><?php echo _EZREALTY_VIEWDET_VIEWING;?></td>
</tr>
</table>
<form class="form" id="viewing" name="viewing" action="<?php echo $link2;?>" method="post">
<input type="hidden" name="option" value="com_ezrealty" />
<input type="hidden" name="Itemid" value="<?php echo $Itemid;?>" />
<input type="hidden" name="task" value="sendbusinesscontact" />
<input type="hidden" name="id" value="<?php echo $id;?>" />
<table align="center" width="300" border="0" cellspacing="1" cellpadding="3">
<tr><td width="30%" valign="top"><p align="center"><font color="red"><?php echo '*Все поля обязательны для заполнения' ?></font></p></td></tr>
<tr><td width="30%" valign="top"><?php echo _EZREALTY_VIEWDET_VNAME;?>:
<input type="text" id="apptname" name="apptname" size="18" class="inputbox" maxlength="100" /></td></tr>
<tr><td width="30%" valign="top"><?php echo _EZREALTY_VIEWDET_VMAIL;?>:
<input type="text" id="apptmail" name="apptmail" size="18" class="inputbox" maxlength="100" /></td></tr>
<tr><td width="30%" valign="top"><?php echo _EZREALTY_VIEWDET_VPHONE;?>:
<input type="text" id="telephone" name="telephone" size="18" class="inputbox" maxlength="100" /></td></tr>
<tr><td width="30%" valign="top">Количество взрослых: <input type="text" name="old" size="5" class="inputbox" maxlength="100" />,  детей: <input type="text" name="children" size="5" class="inputbox" maxlength="100" /> </td></tr>
<tr><td width="30%" valign="top">Дата заезда:
<input type="text" id="datein" name="datein" size="18" class="inputbox" maxlength="100" /></td></tr>
<tr><td width="30%" valign="top">Дата отъезда:
<input type="text" id="dateout" name="dateout" size="18" class="inputbox" maxlength="100" /></td></tr>
<tr><td width="30%" valign="top">Дополнительная информация:
<textarea id="datetime" name="datetime" class="inputbox" rows="3" cols="50"></textarea></td></tr>
<tr><td colspan="2" valign="top">
<center><b>УСЛОВИЯ ЗАКАЗА</b></center>
<textarea cols="50" rows="7" readonly>
Старайтесь сделать заказ как минимум за 5 дней ...
</textarea>
<p><input type="checkbox" name="agree" onClick="agreeForm(this.form)" />Условия принимаю</p>
</td></tr>


<tr><td colspan="2" valign="top"><input type="button" id="submited" name="submited" value="Оставить заявку" class="button" onclick="validateviewing()" disabled="disabled" /></td></tr>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy