サーバー側の方法が機能し、AJAX関数がdata-duplicated="false"
ではなく$this.submit();
に設定されています。実際にフォームを送信するには、もう一度sumbitボタンを押す必要があります。AJAX関数でフォームを送信
<form data-url="/.../" data-duplicated="true" onsubmit="return checkForDuplicates(this)">
<!-- Form inputs -->
</form>
function checkForDuplicates(e) {
var $this = $(e);
var url = $this.attr('data-url');
if ($this.attr('data-duplicated') === 'true') {
$.ajax({
url: url,
type: 'POST',
data: data,
success: function (result) {
if (result === true) {
$this.attr('data-duplicated', 'false');
$this.submit();
} else {
// warrning
}
}
});
return false;
}
return true;
}
私は実際にフォームを送信するために何をすべき?
これを試してください: '$ this [0] .submit();' –
'ajax'を使っているのなら、なぜ' form'を提出していますか? – Rayon
@IsmailRBOUH - this [0] .smitは関数ではありません。 – Bacchus