根据2个下拉列表的值,转到不同的URL

时间:2015-02-19 11:40:05

标签: php forms onsubmit chronoforms

我正在为一个组织青少年研讨会的组织建立表格。可以选择带一位或两位家长参加研讨会。因此,对于每个家长,都有一个Dropbox来回答问题"您是否也会参加研讨会?"根据父母是否加入一个,两个或没有加入,提交后用户将被重定向到不同的URL(提交始终在同一个地方)。表格是在Joomla中使用chronoforms构建的。

这是下拉列表的代码,请注意我无法更改值" Ja"或者" Nee"因为此值也会发送到数据库,我不允许更改它。下拉代码:



    <select class="cf_inputbox validate-selection required" id="select_17" size="1" title="verplicht veld" name="oudersessieouder1" style="width: 193px;">
    <option value="">Make your choice</option>
<option value="Ja">Yes, will participate</option>
<option value="Nee">No, will not participate</option>
    </select><label class="cf_label" style="width: 150px;"> Will this parent join the workshop?</label>

<select class="cf_inputbox validate-selection required" id="select_18" size="1" title="verplicht veld" name="oudersessieouder2" style="width: 193px;">
    <option value="">Make your choice</option>
<option value="Ja">Yes, will participate</option>
<option value="Nee">No, will not participate</option>
    </select><label class="cf_label" style="width: 150px;"> Will this parent join the workshop?</label>
&#13;
&#13;
&#13;

这是提交代码:

&#13;
&#13;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>bedankt</title>
</head>

<body>
<script>

if (one parent comes, so one of the 2 dropdown values will be "Ja")
window.location.replace("http://www.website.be/inschrijven-pe-jongeren-1-parent.html")
else if (both parents come, so both dropdown values will be "Ja")
window.location.replace("http://www.website.be/inschrijven-pe-jongeren-both-parents.html")
else
window.location="http://www.website.be/inschrijven-pe-jongeren.html"
</script>
<p align="center">&nbsp;</p>
</body>
</html>
&#13;
&#13;
&#13;

现在我仍然需要on on sumbit代码的逻辑。如果有一位家长加入,请转到该网址,如果父母双方加入,请转到该网址,如果没有父母加入,请转到该网址。

如果有人可以帮助我,我们将不胜感激!

2 个答案:

答案 0 :(得分:1)

我不清楚您在表单中提交代码的位置。如果您使用JavaScript进行重定向,那么ChronoForms将永远不会看到提交的数据,也无法以任何方式处理结果。

如果您希望ChronoForms处理数据,请在On Submit事件的自定义代码操作中使用这样的代码:

<?php
if ( $form->data['oudersessieouder1'] == 'ja' && $form->data['oudersessieouder2'] == 'ja' ) {
  $form->data['redirect_url'] = JUri::root().'inschrijven-pe-jongeren-both-parents.html';
} elseif ( $form->data['oudersessieouder1'] == 'ja' || $form->data['oudersessieouder2'] == 'ja' ) {
  $form->data['redirect_url'] = JUri::root().'inschrijven-pe-jongeren-1-parent.html';
} else {
  $form->data['redirect_url'] = JUri::root().'inschrijven-pe-jongeren.html';
}
?>

然后,您可以在“重定向用户”操作中使用redirect_url。

注意:您应该在此之前使用Serverside Validation来检查是否已设置这两个值。

如果您想直接从浏览器在JavaScript中执行此操作,则需要将上面的代码放在函数中,并从选择下拉列表的OnChange事件中运行该函数。目前它只会在页面加载时运行,而不是在进行选择时运行。

答案 1 :(得分:0)

看起来你忘了在第二个if上添加else,

如果[条件]
其他如果[条件]其他