如何将joomla表单(在文章中)重定向到不同的joomla文章?

时间:2018-11-07 14:53:43

标签: javascript joomla

这个问题对我的情况来说非常特殊,我无法在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,则会弹出错误消息。否则,将通过表单将用户重定向到我的其他价格文章,并应用disount。

<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;
}
它有效,唯一的问题是默认情况。如果输入了错误的优惠券代码,它不会显示弹出错误消息。

1 个答案:

答案 0 :(得分:2)

我的问题的解决方案是使用自定义验证规则的RSFORM。

创建RSFORM验证规则的教程为here

我插入的代码就是这个:

<?php
 
defined( '_JEXEC' ) or die( 'Restricted access' );
 
require_once dirname(__FILE__).'/validation.php';
 
class RSFormProCustomValidations extends RSFormProValidations
{  
 
  public static function validationTest($value, $extra = null, $data = null)
  {
    // The following makes sure the submitted value is "test"
   

if ($value == "PROMO2018") {
    $app = JFactory::getApplication();
	$app->redirect('index.php?option=com_content&view=article&id=165&Itemid=483');
	 return true;

} elseif ($value == "ETUDIANTBDX") {
    $app = JFactory::getApplication();
	$app->redirect('index.php?option=com_content&view=article&id=15&Itemid=229');
	 return true;
} else  {
      // Return false if the validation didn't pass.
      return false;
    }
  }
 
}

这个简单的优惠券解决方案使我可以打折管理商品的销售。

Joomla Article => RSformCoupon =>带有折扣的Joomla Article => RsformStripe =>付款