0

我有一个表单,当我 sumbit 加载表单的新部分时,会发生页面加载并将我发送回页面顶部,因此我必须一直向下滚动到表单所在的位置。

有没有办法可以将页面保持在它所在的同一部分,或者让它加载到我显示的一个子标题文本标题旁边?

这是我显示的按钮:

echo $this->Form->submit("View Now");

但是我怎样才能让它加载到下面的这个子标题文本旁边,而不是回到页面顶部呢?

<h2><?php __("Information Results");?></h2>

谢谢!

4

2 回答 2

0

试试这个代码:

echo $this->Form->submit("View Now",array('id'=>'contact_btn'));
<div id='result'><?php __("Information Results");?></div>

<script>
$.ajax({data:$("#contact_btn").closest("form").serialize(),
    dataType:"html",
    success:function (data, textStatus)
    {$("#result").html(data);},
    type:"post",
    url:"\/yourproject\/controller\/action"
});
</script>
于 2012-08-30T05:07:35.537 回答
0

Ajax 是正确的方法,但您也可以使用锚点。例如,您可以使您的表单操作是这样的:

<?php echo $this->Form->create(
                               'YourModel', 
                               array(array('#'=>'subform')    
);?>

然后在h2之上,你应该放:

<a name="subform"></a> 
<h2><?php __("Information Results");?></h2>

提交表单时,它将准确定位在您想要的位置。但它是 Ajax 的替代品。我会用 Ajax 来做。

奖金(如果可以这样算的话)你的逻辑是相同的动作。

于 2012-08-30T07:40:59.597 回答