2015-05-29 182 views
0

我想在WordPress中創建一個聯繫表格,其中兩個字段之一必須填寫發送。 例如 - e-mailtelephone number是必需的,但是如果用戶只填寫一個字段,那麼它就可以。聯繫表格需要填寫兩個字段中的一個

+0

使用聯繫表格7插件,並在其中添加字段時,只需在您想要的字段中選擇所需字段。 –

+0

Arsh,你不明白這個問題。這裏是邏輯OR運算符。在兩個字段中進行設置,不會在驗證過程中牽連彼此之間的關係。此時,這是邏輯或運算。 – cyan

回答

2

這取決於你想如何驗證它。

PHP?你可以這樣做:

if (empty($_POST['name1']) && empty($_POST['name2'])) { 
    // Error message 
} 

JS?你可以這樣做:

var input1Val = document.getElementsByName('name1')[0].value; 
var input2Val = document.getElementsByName('name2')[0].value; 

if (input1Val.length > 0 || input2Val.length > 0) { 
    // Allow submission 
} 
0
`$(document).ready(function() { 

    $('#forgot_pass_form').validate({ // initialize the plugin 
     groups: { 
      names: "uname email" 
     }, 
     rules: { 
      uname: { 
       require_from_group: [1, ".send"] 
      }, 
      email: { 
       require_from_group: [1, ".send"] 
      } 
     }, 
     submitHandler: function (form) { // for demo 
      alert('valid form submitted'); // for demo 
      return false; // for demo 
     } 
    }); 

    jQuery.extend(jQuery.validator.messages, { 
     require_from_group: jQuery.format("'Please enter either username/ email address to recover password'/Please fill out at least {0} of these fields.") 
    }); 

});` 

和HTML

<form action="#" class="send_form" id="forgot_pass_form" method="POST"> 
    <fieldset> 
     <div class="send_row"> 
      <label class="padding-top10">Email</label> 
      <input type="text" class="send_email send" id="email" name="email" 
      /> <em>You need to type an email address</em> 

     </div> 
     <div class="send_row option">OR</div> 
     <div class="send_row"> 
      <label class="padding-top10">Username</label> 
      <input type="text" class="send_username send" id="uname" 
      name="uname" /> 
     </div> 
     <div class="send_row send_submitforgotuser"> 
      <input type="submit" value="Submit" /> 
     </div> 
    </fieldset> 
</form> 
<a id="docs" href="http://docs.jquery.com/Plugins/Validation" target="_blank">Validation Documentation</a> 

工作演示:http://jsfiddle.net/sgmvY/1/

+0

如果用戶禁用了JS,該怎麼辦? – rnevius

+0

沒有js它不工作,但js必須啓用正確的網站工作。如果沒有js,那麼你的代碼將被打擊 –

0

驗證表單沒有JS,需要開發自己的表格插件。

Here是一篇關於它的文章。

更改驗證邏輯以瞭解這兩個字段中的邏輯OR。

相關問題