私はボタンタイプ= "submit"で提出したフォームを取得しました。これをクリックすると、フロントエンドの検証が開始されますが、ijaxとの関係もいくつか検証されています。たとえば、他の人が使用していない名前です。js - フォーム提出を防止
私の問題は、ボタンタイプ= "ボタン"に変更すると、フロントエンドの検証が実行されないということです。 Ajaxの検証だけでそれができます。 私は何ができますか? P/D:jsイベントのjqueryに似たtiny.jsを使用します。
<form>
<input name="name" class="name">
<button type="submit" class="name__valid" value="save">save</button>
<form>
JS
tiny.ajax("/update",
{
method: "PUT",
data: {
name: document.querySelector('name__valid').value;
},
dataType: "json",
success: function (data) {
alert('available name');
window.location = "/home?name-update=success"
},
error: function (error) {
//example: used name error
var errorJSON = JSON.parse(error.response);
console.log('Messages ' + errorJSON.messages);
}
}
);
//this validation only it's executed by de button (type submit)
var name = new ch.Validation(ch('.name__valid')[0], {
'conditions': [{
'name': 'invalid-name',
'message': 'this name it's not valid'
}]
});
'event.preventDefault()'? –
はevent.preventDefault()のみで動作しません –