データベースに一意の値を追加する HTML テキスト フィールドがあります。現時点では、PHP を使用して、テキスト フィールドに入力された値がデータベースにまだ存在しないことを検証しています。エラーが発生した場合にフォームが送信されないようにするために、これを JavaScript で実現することは可能でしょうか。
編集:これが私がこれまでに来た方法です
JavaScript は onsubmit="return validateForm()" によって form-tag で実行されます。「システムエラー!」が表示されます。メッセージとフォームが送信されますが、送信すべきではないと言います。
function validateForm(){
// Get all elements with the required-class
var x = document.getElementsByClassName('required');
var submitForm = true;
for(var i = 0; i < x.length; i++){
// Fetch input
var input = x[i];
// Fetch input value
var inputValue = input.value;
if(input.disabled == false){
// Check if the value exist
if(inputValue == null || inputValue == ''){
// Red border
input.style.borderColor = "#ff0000";
// Don't submit the form
submitForm = false;
} else if(input.name == 'company'){
$.ajax({
type: 'GET',
url: '../includes/ajax_mysql.php?company='+input.value,
success: function(data){
if(data == '1'){ submitForm = false; } else{ submitForm = true; }
alert(data);
},
error: function(data){
submitForm = false;
alert("System Error!");
}
});
}
}
}
if(!submitForm){ return false; } else{ return true; }
}