我有一个带有远程表单的contentPane,我正在尝试让表单提交,并保留在窗格中,或者在出错时再次显示表单或报告成功。 我确信这很容易,但我很难过,不是第一次,也不是最后一次,我确定。
商店表格:
class Services_Form_Store extends Zend_Dojo_Form {
protected $_actionUrl;
public function __construct($actionUrl = null, $options=null)
{
parent::__construct($options);
$this->setActionUrl($actionUrl);
$this->init();
}
public function setActionUrl($actionUrl) {
$this->_actionUrl = $actionUrl;
return $this;
}
public function init()
{
$required = true;
$this->setMethod('post')
->setAttrib('id', 'storeform')
->setAttrib('name', 'storeform')
->setAttrib('onSubmit', 'dojo.xhrGet(sub) return false;');
$this->addElement('TextBox', 'location', array(
'label' => 'Location name :',
'required' => true,
'trim' => true,
'propercase' => true)
);
$submit = new Zend_Form_Element_Submit('submit');
$submit->setLabel('save');
$this->addElement($submit);
}
}
我的观点:
<script type="dojo/method" event="onSubmit">
var sub = {
url : "/storemamager/new",
load : function(data){
dojo.byId('storeform').value = data;
},
error : function(data){
console.debug("error submitting data :" + data);
},
timeout : 2000,
form : "storeform"
}
</script>
<?php echo(empty($this->formResponse) ? '' : '<p class="errors">' . $this->formResponse . '</p>'); ?>
<?php echo $this->form; ?>
所有这些都相当新,所以对wtf比率的线路表示道歉。
编辑:代码很乱
答案 0 :(得分:1)
咆哮错误的树。 我的表单中带有onclick事件的按钮可以解决问题。
$this->addElement('Button', 'submit', array(
'label' => 'Save',
'onclick' => 'dojo.xhrPost(
{
url : "url",
timeout : 2000,
form : "form"
}
);'