【问题标题】:how to get the return value of a javascript onClick function in php如何在php中获取javascript onClick函数的返回值
【发布时间】:2014-04-24 10:14:25
【问题描述】:

这一定很愚蠢,但我找不到解决方案......

我正在使用 yii 框架,我有几个链接的菜单:

$this->menu=array(

    array('label'=>'Badges : De tous','url'=>array('genCarteVisite','idEvent'=>$evenement->Id_Evenements, 'boolPrint'=>'%'),'linkOptions'=>array( 'onclick' => 'javascript: OnClickButton();')),
    ... and other links ... 
);

例如,我有我的小 JS 函数:

 <script type="text/javascript">
 function OnClickButton () {
    return confirm('Desirez vous indiquer a la BD que vous les avez imprimé?');

 }  
</script>

我只想在我的控制器操作“genCarteVisite”中取回返回值(确认框的真或假)。 我该怎么做?

谢谢。

【问题讨论】:

  • $_GET 变量?您需要发布更多详细信息
  • PHP 在页面请求上执行。它是一种服务器端语言,如果没有 AJAX 之类的东西,它就无法与页面的 Javascript 函数对话。
  • 您应该将数据发布到控制器,在此处阅读更多信息:api.jquery.com/jQuery.post
  • [天哪,很难做出明确的评论!] 视图中类似于function OnClickButton () { bool = confirm('Desirez vous indiquer a la BD que vous les avez imprimé?'); $.ajax({ type: "POST", url: "http://localhost/LayoutColloques/index.php/admin/genCarteVisite", data: bool, }); }。 (由 onclick 事件调用的函数。)和“genCarteVisite”动作控制器中的 $_post['bool']? :s 它不起作用,因为 bool 有未定义的索引。因此,没有带有布尔名称的 Post 数据。
  • 您需要哪些详细信息 user574632?您有指向我的控制器操作、onclick 操作、onclick 调用的 JS 的链接。在我的控制器中,我只有渲染,因为我无法获得 JS 函数返回的 var。

标签: javascript php yii


【解决方案1】:

您实际上不应该希望在控制器操作中获得确认的结果。 如果用户单击“否”,则不应触发 url。从而使结果过时,因为只有在用户单击“是”时才应调用该操作。

如果您的链接在不等待确定结果的情况下重定向到 url,您应该添加“return false;”在“OnClickButton();”后面在 onclick 属性中。

【讨论】:

  • 好吧,这不是我想要的,我可能不需要使用确认框。我想在我的控制器中获得此操作的结果。如果用户按是,我必须在数据库中进行一些更改并显示页面,如果他按否,我只想显示页面。关于如何进行的任何建议?
  • 如果不可能,我会用另一种方式实现。但是如果我点击取消按钮,控制器动作然后加载下一页。我想念什么?我的链接 `array('label'=>'Badges : De tous','url'=>array('genCarteVisite',...),'linkOptions'=>array( 'onclick' => 'javascript: OnClickButton( );')),` 和我的 JS function OnClickButton () { if(confirm('En suivant ce liens, vous aller indiquer a la base de donnée que ces badges ont été imprimé. Voulez vous continuer?')) return true; else return false; return false; 谢谢 :)
  • 当点击是时它工作正常吗?触发控制器中的功能,但无论确认结果如何,您都想刷新gridview。然后你应该添加 $('#grid-id').yiiGridView('update');在onclick(确认)函数之后,不在onclick函数中。还要确保将 id 添加到网格小部件。
  • 返回false;也应该在 onclick 函数之外,防止点击取消提交。 'onclick' => 'javascript: OnClickButton(); $('#grid-id').yiiGridView('update');返回 false;')
  • 我不知道你想用你的网格做什么,我也不太明白。我没有任何网格。如果我点击链接,我会转到另一个页面。所以我不更新任何网格:s
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-07
  • 1970-01-01
  • 2011-04-04
  • 2014-04-01
相关资源
最近更新 更多