在表单提交之前使用javascript设置元素值不发送POST数据

时间:2014-02-28 05:30:42

标签: javascript zend-framework

我有一个包含多个动态生成的表数据元素的表单。在提交表单之前,我设置了两个输入元素的值,并使用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将其发送到我的动作控制器。

5 个答案:

答案 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 ());