0

我有以下 HTML 代码

<div id="form_target"></div>

<form action="?r=index/login" target="#form_target"></form>

我想从 actionLogin 返回文本并将其显示在 form_target 中。怎么做?

我努力了

$this->renderText($Respond);

但仍然失败。在浏览器上,我得到了一个显示返回文本的新屏幕。我想要 form_target 中的文本。

谢谢你。


首先删除级联,因为您在创建/修改付款时不希望创建/修改 PaymentMethod。

然后,当您创建 Payment 时,为其分配您希望与其关联的现有 PaymentMethod:

PaymentMethod existingPaymentMethod = em.find(PaymentMethod.class, idOfThePaymentMethod);
Payment payment = new Payment();
payment.setPaymentMethod(existingPaymentMethod);
em.persist(payment);
4

2 回答 2

0

我用 <div> 标签替换了 <form> 标签。所以我提交没有 <form> 标签的表单条目。我使用 ajax 发布请求来提交值。

我无法解释为什么即使我使用标签,页面在从控制器获取结果时也会不断刷新。

所以修改后的html代码是这样的:

<div id="form_target"></div>

<div id="form">
  <input .../>
  <input .../>
  <input .../>
  <input type="button" value="submit" onclick="SubmitForm();"/>
</div>

SubmitForm() 看起来像这样

SubmitForm()
{
  var data = $("#form *:input").serialize();

  $.post(
    url,
    data,
    function(data)
    {
      $("#form_target").html(data['respond_text']);
    },
    'json'
  );
}
于 2013-02-18T03:24:01.620 回答
0

替换$this->renderText($Respond)echo $Respond。从API页面renderText()

呈现静态文本字符串。该字符串将插入当前控制器布局并返回。

于 2013-02-17T09:54:50.130 回答