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

标签 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,则会弹出错误消息。否则,用户将通过表单重定向到我的其他价格文章并应用了折扣。

<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 hack 让我可以通过一个简单的 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;
}
它有效,唯一的问题是默认情况。如果我输入错误的优惠券代码,它不会显示弹出式错误消息。

最佳答案

我的问题的解决方案是使用自定义验证规则的 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 with discount=>RsformStripe=>Payment

关于javascript - 如何将 joomla 表单(在文章中)重定向到不同的 joomla 文章?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53191934/

相关文章:

php - 当应用程序池使用 'ApplicationPoolIdentity' 时,IIS 8.5 使用什么用户帐户?

php - Frontpage 幻灯片无法在 Firefox 中运行

javascript - 使用javascript加载页面后将外部CSS应用于动态html

javascript - 我的选择列表中的所有选项都连接在一个大选项中。我该如何解决?

php - 什么是嵌套模型?它与 Joomla 的菜单项有什么关系?

php - 在 RSform 中按用户组过滤

joomla - com_ajax - LogicException : Module is not published, 您无权访问它

javascript - 如何制作固定大小的井 Bootstrap

javascript - 使内联 JS 配置对象符合 CSP 标准(CSP 级别 1)

javascript - 为什么我收到 Chrome Native Messaging "Specified native messaging host not found."?