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


Go to different url depending on value of 2 dropdowns

我正在为一个组织青少年研讨会的组织构建一个表格。可以选择带一位或两位家长参加研讨会。因此,对于每一位家长,都有一个下拉框来回答"你也会参加研讨会吗?"这取决于是否有一位家长、两位家长或没有家长会参加,用户在提交后将被重定向到不同的url(提交总是在同一位置)。该模型是用Joomla的计时模型构建的。

这是下拉列表的代码,请注意,我不能更改值"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>

这是提交时的代码:

<!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>

现在我仍然需要sumbit代码的逻辑。如果一个家长加入,请转到该url,如果两个家长都加入,则转到该url;如果没有家长加入,则转至该url。

如果有人能帮我做这件事,我将不胜感激!

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

如果你想让ChronoForms处理数据,那么在提交时事件中的自定义代码操作中使用这样的代码:

<?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。

注意:在此之前,您应该使用服务器端验证来检查是否设置了这两个值。

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

看起来您忘记在第二个if上添加其他if,

如果[条件]
else如果[条件]
else