Jquery CakePHP3.6:通过ajax提交表单
我有以下表格:Jquery CakePHP3.6:通过ajax提交表单,jquery,ajax,post,cakephp,submit,Jquery,Ajax,Post,Cakephp,Submit,我有以下表格: <?php // Start a modal with a title, default value for 'close' is true echo $this->Modal->create("My Modal Form", ['id' => 'exampleFormModalzz', 'close' => false]) ;
<?php
// Start a modal with a title, default value for 'close' is true
echo $this->Modal->create("My Modal Form", ['id' => 'exampleFormModalzz', 'close' => false]) ;
echo $this->Form->create($task, ['id' => 'newTaskForm']) ?>
<fieldset>
<legend><?= __('Add Task') ?></legend>
<?php
echo $this->Form->control('customer', ['id' => 'Autocomplete', 'empty' => false, 'required' => true]);
echo $this->Form->control('name', ['label' => 'Title','autocomplete' => 'off']);
echo $this->Form->control('instructions');
?>
</fieldset>
<?php echo $this->Modal->end([
$this->Form->submit(__('Direct Assign'), ['id' => 'DAbtn', 'name' => 'btn', 'class' => 'button' ]),
$this->Form->submit(__('Save as pending'), ['id' => 'SPbtn', 'name' => 'btn', 'class' => 'button' ])
]); ?>
但它通过post请求不断发布表单。它不会通过ajax提交。如何修复它?您可以用常规按钮替换提交按钮,并使用onClick调用ajax 例如:
$this->Form->button('Direct Assign', ['id' => 'DAbtn', 'name' => 'btn', 'class' => 'button' ]);
在Ajax中:
$("#DAbtn").click(function () {
var task = $("#newTaskForm").serialize();
source: function( request, response ) {
$.ajax({
type: "POST",
url: '/app/tasks/createTask',
datatype: 'json',
data: task,
success: function( data )
{
}
});
}
您的JavaScript在语法上无效。
$("#DAbtn").click(function () {
var task = $("#newTaskForm").serialize();
source: function( request, response ) {
$.ajax({
type: "POST",
url: '/app/tasks/createTask',
datatype: 'json',
data: task,
success: function( data )
{
}
});
}