わかりましたので、JQuery で条件文を探していましたが、2 つの入力ボックスの少なくとも 1 つにコンテンツがあることを確認する方法についての解決策が見つかりません。
これは私がこれまでに持っているものです
$('#send').click(function(){ // when the button is clicked the code executes
$('.error').fadeOut('fast'); // reset the error messages (hides them)
var error = false; // we will set this true if the form isn't valid
var name = $('input#namn').val(); // get the value of the input field
var message = $('textarea#meddelande').val(); // get the value of the textarea
var phone = $('input#telefon').val(); // get the value of the input field
var email_compare = /^([a-z0-9_.-]+)@([da-z.-]+).([a-z.]{2,6})$/; // Syntax to compare against input
var email = $('input#epost').val(); // get the value of the input field
if(name == "" || name == " " || name == "namn" || name.length < 2) {
$('input#namn').val("namn").css({ 'color': 'red' });
error = true; // change the error state to true
}
if(phone == "" || phone == " " || phone == "telefon" || phone.length < 5) {
$('input#telefon').val("telefon").css({ 'color': 'red' });
error = true; // change the error state to true
}
if (email == "" || email == " " || email == "epost") { // check if the field is empty
$('input#epost').val("epost").css({ 'color': 'red' });
error = true;
}else if (!email_compare.test(email)) { // if it's not empty check the format against our email_compare variable
$('input#epost').val("kontrollera epost").css({ 'color': 'red' });
error = true;
}
if(message == "" || message == " " || message == "meddelande" || message.length < 10) {
$('textarea#meddelande').val("meddelande").css({ 'color': 'red' });
error = true; // change the error state to true
}
if(error == true) {
$('#err-form').fadeIn('fast');
return false;
}
var data_string = $('#ajax-contactform').serialize(); // Collect data from form
$.ajax({
type: "POST",
url: $('#ajax-contactform').attr('action'),
data: data_string,
timeout: 6000,
error: function(request,error) {
if (error == "timeout") {
$('#err-timedout').fadeIn('fast');
}
else {
$('#err-state').fadeIn('fast');
$("#err-state").html('Ett fel uppstod: ' + error + '');
}
},
success: function() {
$('#ajax-contactform').fadeOut('fast');
$('#success-msg').fadeIn('slow');
}
});
return false; // stops user browser being directed to the php file
}); // エンドクリック関数
そして、その正常に動作します。ただし、電子メールまたは電話のいずれかにコンテンツがあることを確認する条件ステートメントを作成したいと思います。私は人々に両方を去らなければならないことを強制したくありませんが、少なくとも 1 つです。
したがって、電話にコンテンツ ("telefon" という単語ではなく数字のみ) がある場合、電子メールは必須ではなくなり、その逆も同様です。電子メールにコンテンツが含まれている場合でも、有効な電子メールであることを確認する必要があります。
どうすればこれを行うことができますか?私はここで少し迷っています:(