2017-01-09 6 views
0

私はBootsrapフォームを.NETによって強化されたKentico CMSに統合しています。そうすることで、私は "フォーム"タグが私のフォームから削除されていることに気付きました。Bootstrapを使用した.NETフォーム3.3.5

私はKentico Supportから以下を受け取った - カスタムフォームタグがASP.NET Webフォームでサポートされていないのは恐れている。問題は、ASP.NETでは、ページ全体がフォームタグでラップされていることです(これはKenticoに固有の標準的な.NET動作です).HTML標準ではネストされたフォームタグは使用できません。

私はHTMLでエラー処理を組み込んだページテンプレートを用意していますが、.NETプログラミングの経験はありません。誰でも私がどのようにBootstrapフォームのエラー処理と提出が.NET内で正しく動作するかを教えていただけますか?

ありがとうございました!ここで

が現在のフォーマットです:

<form action="" method="post" id="contact_form"> 
    <div class="col-md-12"> 
     <div class="col-md-6 zero-margin-bottom"> 
      <div class="form-group"> 
       <label for="Company">Company</label> 
       <input name="company" type="company" class="form-control" id="exampleInputCompany" placeholder="Company"> 
      </div> 
      <div class="form-group"> 
       <label for="FirstName">First Name</label> 
       <input name="first_name" type="firstname" class="form-control" id="exampleInputFirstName" placeholder="First Name"> 
      </div> 
      <div class="form-group"> 
       <label for="LastName">Last Name</label> 
       <input name="last_name" type="lastname" class="form-control" id="exampleInputLastName" placeholder="Last Name"> 
      </div> 
     </div> 
     <div class="col-md-6 zero-margin-bottom"> 
      <div class="form-group"> 
       <label for="exampleInputEmail1">Email address</label> 
       <input name="email" type="email" class="form-control" id="exampleInputEmail1" placeholder="Email"> 
      </div> 
      <div class="form-group"> 
       <label for="exampleInputPassword1">Phone</label> 
       <input name="phone" type="phone" class="form-control" id="exampleInputPhome" placeholder="Phone"> 
      </div> 
      <div class="form-group"> 
       <label for="country">Country</label> 
       <select name="country" class="form-control"> 
        <option value="">Select Country</option> 
        <option value="Abu Dhabui">Abu Dhabui</option> 
        <option value="...">Afghanistan</option> 
       </select> 
      </div> 
     </div> 
     <div class="col-md-12 zero-margin-bottom"> 
      <div class="form-group"> 
       <label for="comments">Comments:</label> 
       <textarea name="comment" class="form-control" rows="3"></textarea> 
      </div> 
      <button type="submit" class="btn btn-default submit btn-danger">Send Request</button> 
     </div> 
    </div> 
</form> 
+0

私はKenticoについて何も知らないが、彼らのウェブサイト主張の開発者は標準の.Netコントロールを使用することができます。私はその道を試みるだろう。 Visual Studioを使用して作業中の作品を作成していますか? –

+0

私はそうではありません。私は、スタイリッシュなBootstrap HTMLを開発し、それをKenticoのテンプレートに統合しています。もう一つの部分は、以下のコードを使用してCRMにフォームを投稿する必要があることです。 入力タイプ=非表示名=" rurl "value =" "> –

+0

電子メールによると、ASP.NET Webフォームの場合、HTMLページの本文全体は既に '

'タグでラップされています。ページ内に別のフォームを追加すると、HTML標準では、内部フォームがDOMから取り除かれることが指示されています(違法です)。 – krillgar

答えて

0

<form>タグを削除し、それが必要ではないです。あなたのスタイリングがそのフォームタグに依存している場合は、すべてのフォーム要素を囲むdivに別のクラスを追加します。デフォルトでは、<form><form>に入れ子にしてasp.net webforms開発を使用することはできません。 Kenticoのポータル開発モデルはそれを使用しており、<form>タグがファイルシステムのマスターページテンプレート上にあるため、毎回問題が発生します(変更しないことをお勧めします)。

+0

フォームタグを削除し、フォームフィールドを囲むdivにid = "contact_form"を追加すると、ブートストラップエラーの検証が機能しなくなります。 –

+0

その後、いくつかのクラスを追加したり、いくつかのCSSクラスをオーバーライドしたり、いくつかのブートストラップ・ジャバスクリプト・ハンドラーをオーバーライドする必要があります。コンソールウィンドウにJSエラーがありますか? –

+0

まだJSエラーがなく、検証に成功していません。 –

1

ブートストラップ検証はフォームタグに依存しません。基本的には親要素に.has-errorクラスを追加します。あなたのマークアップを確認するにはインスペクタ(ChromeのF12)を使用し、親の要素には確実に男性.has-errorクラスが追加されています。

ブートストラップには、エラー、警告、および成功のための検証スタイルが含まれています フォームコントロールの状態。使用するには、.has-warning、.has-error、または .has-successを親要素に追加します。任意の.control-label、.form-control、 およびその要素内の.help-blockは、 スタイルの検証を受け取ります。

詳細はhereを参照してください。

Hereは動作例です。

+0

この例は私の出発点でしたが、formタグはコンテナdivの後に続きます。フォームタグをdivに変更しようとすると、検証が機能しなくなります。 –

関連する問題