在我的索引頁上,我在表格的每一行都有複選框。Black Holed Request Cakephp
要編輯選定的項目,我使用javascript/jquery獲取複選框的類,構建一個ID數組,然後將其發佈到我的控制器中的編輯選定方法。
現在,這一切都完美的工作,但是當我的應用程序控制器中的安全啓用,我的帖子被黑洞和陣列不張貼。
這裏是我的index.ctp文件:
<table id="indexTable">
<thead><tr>
<th> <?php echo $this->Form->checkbox('select_all', array('value' => 'select_all')); ?> </th>
<th> <?php echo $this->Paginator->sort('id', 'ID'); ?> </th>
<th> <?php echo $this->Paginator->sort('name', 'Name'); ?> </th>
<th>Auto Offset </th> <th>UTC Offset Sec </th> <th>In Month </th>
<th>In Week </th> <th>In Dow </th> <th>In Hour </th> <th>Out Month </th>
<th>Out Week </th> <th>Out Dow </th> <th>Out Hour </th> <th>Offset Sec </th>
<th>DST Ref </th> <th>Actions </th>
</tr></thead>
<tbody>
<?php
$this->Form->create('LocalClock');
foreach($localClocks as $LocalClock) { ?>
<tr>
<td> <?php echo $this->Form->checkbox('LocalClocks'.$LocalClock['LocalClock']['id'], array('value' => $LocalClock['LocalClock']['id'], 'hiddenField' => false));?> </td>
<td> <?php echo $LocalClock['LocalClock']['id']; ?> </td>
<td> <?php echo $LocalClock['LocalClock']['name']; ?> </td>
<td> <?php echo $LocalClock['LocalClock']['auto_offset']; ?> </td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<!-- This <div> contains all the actions that can be performed on the Local Clocks. -->
<div>
<p>
<span style="float: left">
<?php echo $this->Html->link(__('Edit All Items'), array('action' => 'editAll'), array('class' => 'link'));?>
</span>
<span style="float: left">
<?php echo $this->Html->link(__('Edit Selected Items'), array('action' => 'lceditSelected'), array('class' => 'general_dialog'));?>
</span>
<span style="float: right">
<?php echo $this->Html->link(__('Delete Selected Items'), array('action' => 'deleteSelected'), array('class' => 'general_dialog'));?>
</span>
<?php $this->Form->end(); ?>
</p>
</div>
我拿出一些不重要的東西。問題在於我選擇了編輯並刪除了選定的功能。
這裏是JavaScript代碼,等待他們的點擊,然後構建陣列張貼到控制器動作:
$('.general_dialog').live('click', function()
{
$.ajaxSetup({ async: false });
var $selDialog = $("#general_dialog").dialog(
{
autoOpen: false,
modal: true,
});
var postInfo = $('#LocalClockIndexForm').serialize();
$.ajax({
url: $(this).attr('href'),
type: "post",
data: postInfo,
success: function (response)
{
alert('success');
},
error: function()
{
alert("failed");
}
});
$selDialog.load($(this).attr('href'), function()
{
$selDialog.dialog('open');
});
return false; // Ensure the controller does not redirect to the actual edit page
});
如何得到它沒有得到黑色帶孔的工作有什麼幫助,將不勝感激。
在此先感謝
--------------------------------------- - -編輯 - - - - - - - - - - - - - - - - - - - - - - - 我將$this->Form->create('LocalClock')
和$this->Form->end()
添加到表格中,並將$ .post()切換爲和$ .ajax()調用。
如果我發送序列化表單,我沒有看到黑洞,但是當我查看發佈的數據時,它不包含任何複選框ID。
我試着在包含編輯/刪除選定按鈕的div後面的foreach循環行和form-> end()後放入'form-> create()',但我仍然越來越黑。有任何想法嗎? – RXC 2012-07-30 12:17:06
我想我可能知道問題出在哪裏,我包含'form-> create'和'form-> end'代碼,但是我發佈數據的按鈕沒有獲取安全信息。 – RXC 2012-07-30 12:22:47
我發現我的問題是我的大表單中有多個表單。我刪除了這些,一切正常。謝謝 – RXC 2012-08-02 13:53:51