如何在不生成action
属性的情况下通过Blade模板引擎生成表单?
我想为ajax请求生成一个表单。
答案 0 :(得分:2)
1)如果您不希望表单提交
{{ Form::open(['onsubmit' => 'return false']) }}
2)如果您有ajax功能,可以这样调用
{{ Form::open(['onsubmit' => 'yourAjaxFunction(); return false']) }}
3)如果要将Angular JS指令包含在表单
中{{ Form::open(['ng-submit' => 'submit()', 'onsubmit' => 'return false']) }}
答案 1 :(得分:0)
不,实际上无法告诉“表单”构建器省略操作属性。在任何情况下都会设置一些属性,action
- 属性就是其中之一。这是函数的相关部分:
public function open(array $options = array())
{
//....
$attributes['method'] = $this->getMethod($method);
$attributes['action'] = $this->getAction($options);
$attributes['accept-charset'] = 'UTF-8';
//....
return '<form'.$attributes.'>'.$append;
}
来源:https://github.com/illuminate/html/blob/master/FormBuilder.php#L104
但你可以通过传递'url'轻松覆盖它:
Form::open(['url' => '#'])
注意:覆盖action
之类的Form::open(['action' => '#'])
会引发错误,因为它指定了路由的名称。 url
指定原始网址。