【问题标题】:Calling an Action Method from Javascript in PHP MVC在 PHP MVC 中从 Javascript 调用操作方法
【发布时间】:2015-01-29 19:51:09
【问题描述】:

我正在使用 XAMPP 服务器开发 php phalcon。

我有一个名为PrescriptionsController 的控制器。它有几种操作方法。在index 视图中,我填写了<form> 来开处方,然后当我点击save 按钮时,会调用一个javascript 函数,该函数会调用控制器中的另一个操作方法。

问题是我可以根据我想给病人开的药的数量动态增加文本框的数量。这就是为什么当我点击保存时有必要调用 javascript 函数以检查文本框的数量及其包含的值。

现在,我想知道我怎样才能做到这一点?好的,我可以从文本框中读取值并将它们插入到数组中,但实际上我有两个数组,我想知道如何将它们作为参数传递给我在 javascript 函数中调用的操作方法?还有一件事,如果我这样做:

<script>
function generate()
{
//necessary code
open("actionmethod");
}
</script>

除此之外:

<form method="post">
<-- form body -->
<input type="submit" onclick="generate()">
</form>

我的$_POST 返回空。我该如何解决这个问题?

所以我的两个问题是: 如何将参数传递给javascript中调用的动作方法? 如何获取 $_POST 值?

注意:我需要两个提交按钮,我也使用了两个。一个用于预览,另一个用于保存。

【问题讨论】:

  • 你应该从命名你的输入开始
  • 谢谢,但我的输入已经命名。这只是一个小演示。

标签: javascript php html post phalcon


【解决方案1】:

我认为您应该考虑另一种方法来做到这一点,例如,您可以为每个输入名称加上其 Id 后缀,为输入数量设置一个计数器。每次添加输入时,都会增加计数。然后,当您保存时,您只需执行一个 for 循环即可使用 document.getElementsByName("InputNameId")[0].value 获取输入值。

您也可以在输入中添加 id 并通过 document.getElementById('InputNameId').value 获取它!

所有语法都假设您使用的是纯 javascript。

【讨论】:

  • 是的,我在计数部分使用纯 JavaScript。好的,这将帮助我获得计数,但是我的表单提交问题呢?
  • 你可以做actionmethod(array1, array2),我猜是你将发布请求作为ajax发送的功能。
  • 我有点困惑。假设我想通过javascript提交表单,我该怎么做?
  • 如果您不希望页面重新加载,您可以使用 document.forms['FormName'].submit(); 或使用 ajax 请求。
  • 确保您在表单标签中指定了操作:&lt;form id='myform' action='controller.php'&gt;,对于 ajax 了解更多信息,请访问 w3schools.com/ajax/ajax_xmlhttprequest_send.asp
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-25
  • 1970-01-01
  • 2011-02-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多