我有一个包含多个动态生成的表数据元素的表单。在提交表单之前,我设置了两个输入元素的值,并使用javascript提交表单。在发送表单之前正确设置输入元素值,并且表单被提交但我无法在行动中找到后期值。
<form>
<table>
<tr>
<td>1</td>
<td>Austachal</td>
<td>2014-02-23 00:00:00</td>
</tr>
</table>
<input id="status" name="status "type="hidden">
<input id="id" name="id" type="hidden">
</form>
$('id').value=id;
$('status').value=status;
//alert(id +" >>> " +status); // its showing the value..OK
$('status_form').submit();
//在我的行动中没有得到任何东西。
echo $this->_getParam('id');
echo $this->_getParam('status');
已编辑的问题 请原谅,我忘了提到我在socialengine中使用Zend框架,因此我使用的是mootools。这里的代码不是我使用的实际代码,它比它适合的长得多。这正是我真正想要实现的。我已经告诉过我可以获得所需的值,问题不在于获取元素值,而是使用post将其发送到我的动作控制器。
答案 0 :(得分:1)
感谢大家的努力。实际上价值发送得很好,但问题是在验证后。帖子还可以,但帖子里面的代码没有用,所以我认为maye是post或post with post.I我试图获取表数据nand update它,所以我在一个事务中尝试了它,可能有问题,但它没有显示任何错误,只是没有发生。这就是为什么我想弄明白。在我删除交易并尝试之后,它起作用了
if( $this->getRequest()->isPost())
{
$db = Engine_Db_Table::getDefaultAdapter();
$db->beginTransaction(); // maybe this was the problem
try
{
$room = Engine_Api::_()->getItem('room', $id);
// Update status in the database
$room->status=$new_status;
$room->save();
$db->commit();
}
catch( Exception $e )
{
$db->rollBack();
throw $e;
}
$this->_forward('success');
}
顺便说一句,如果交易过程没问题,我仍然不确定。我希望有人可以对此有所了解
答案 1 :(得分:0)
在jquery中设置值的正确语法是
$('#id').val(/*somevalue*/);
$('#status').val(/*somevalue*/);
答案 2 :(得分:0)
这是你要找的吗?
$('#id').val('id');
$('#status').val('status');
答案 3 :(得分:0)
以正确的方式执行赋值操作,并使用ID的“#”标识符
var id = $('#id').val();
var status = $('#status').val();
alert(id +" >>> " +status);
$('status_form').submit();
答案 4 :(得分:0)
您是否确认该请求是否已发布?
var_dump($this->getRequest()->isPost());
如果为true则验证您的帖子值
var_dump($this->getRequest()->getPost ());