Этот вопрос очень специфичен для моего случая, и я не смог найти никакого решения на форуме Joomla.org и других.
У меня есть несколько статей на Joomla для отображения моей таблицы цен. Мне нужно несколько статей для отображения нескольких цен (для простой купонной системы).
Итак, у меня есть мой основной товар с формой поля COUPON, который перенаправляет на товар со скидкой.
<form class="form-inline" name="myForm" action="/index.php?option=com_content&view=article&id=15&Itemid=229"
onsubmit="return validateForm()" method="post">
<label for="fname">Code Promo:</label>
<input type="text" name="fname" value="PROMO2018">
<input class="btn btn-success" type="submit" value="Valider ce code">
</form>
Если пользователь не вводит PROMO2018, появляется сообщение об ошибке. В противном случае, пользователь перенаправляется по форме на мою статью о других ценах с примененной скидкой.
<script>
function validateForm() {
var x = document.forms["myForm"]["fname"].value;
if (x != "PROMO2018") {
alert("Le code PROMO n'est pas bon. Désolé. :-( ");
return false;
}
}
</script>
Этот крошечный хакер javascript позволил мне управлять продажами с помощью простой системы с 1 купоном для моего продукта.
Я бы хотел работать с несколькими купонами. На самом деле мне нужна вторая для другой скидки. Таким образом, он будет перенаправлять на другие цены статей Joomla с другими ценами.
Итак, я написал этот javascript:
<script>
function validateForm() {
var x = document.forms["myForm"]["fname"].value;
if (x == "PROMO2018") {
document = "index.php?option=com_rsform&view=rsform&formId=8&Itemid=484";
}
else
{
if (x == "ETUDIANTBDX")
{
location = "index.php?option=com_rsform&view=rsform&formId=4&Itemid=232";
}
else
{
alert("Le code PROMO n'est pas bon! Veuillez essayer un autre svp.");
return false;
}
}
}
</script>
Но это не работает! : - (
Кто-нибудь может мне сказать, почему пользователь не перенаправляется на соответствующую страницу при отправке формы купона.
Спасибо за вашу помощь.
Я следую вашему совету с RSFORM
И я сделал этот код:
$v_coupon = $_POST['form']['coupon'];
switch ($v_coupon) {
case "PROMO2018":
case "ETUDIANTBDX":
echo "";
break;
default:
echo "<script type='text/javascript'>alert('Le code PROMO n'est pas bon! Veuillez essayer un autre svp.');</script>";
break;
}
Это работает, единственная проблема для случая по умолчанию. Если я введу неправильный код купона, всплывающее сообщение об ошибке не отображается.