1

Ich verwende ein Bootstrap-Popover in meinem Formular, um einige optionale Auswahlen anzuzeigen, die nur für bestimmte Benutzer gelten. Ich habe ein Problem festgestellt, dass die Formularauswahl (Ja oder Nein Optionsfeldoptionen) verloren geht, sobald das Popover geschlossen wird und die Formulareingaben für die 2 Optionsfelder nicht in der Formularübergabe enthalten sind.Bootstrap Popover Formularwerte verschwinden, wenn Popover geschlossen wird

Wenn ich das Popover geöffnet lasse und das Formular abschicke, funktioniert alles erfolgreich, aber ich kann mich nicht darauf verlassen, dass meine Benutzer das Formular mit geöffnetem Popover senden.

Hier ist der HTML:

<form> 
 

 
    <div class="form-group"> 
 
    <label class="control-label col-sm-3"></label> 
 
    <div class="input-group col-xs-8"> 
 
     <button class="btn btn-default pull-right" id="settings" type="button"><span class="glyphicon glyphicon-cog"></span> Settings</button> 
 
    </div> 
 
    </div> 
 
    </div> 
 

 
    <div id="userSettings" class="hide"> 
 
    <div> 
 
     <label for="includeEmail">Include in Email</label> 
 
     <div class="radio"> 
 
     <label> 
 
      <input type="radio" name="includeEmail" value="Yes">Yes</label> 
 
     &nbsp; 
 
     <label> 
 
      <input type="radio" name="includeEmail" value="No" checked="checked">No</label> 
 
     &nbsp; 
 
     </div> 
 
    </div> 
 
    <br /> 
 
    <div> 
 
     <label for="includeSMS">Include in SMS</label> 
 
     <div class="radio"> 
 
     <label> 
 
      <input type="radio" name="includeSMS" value="Yes">Yes</label> 
 
     &nbsp; 
 
     <label> 
 
      <input type="radio" name="includeSMS" value="No" checked="checked">No</label> 
 
     &nbsp; 
 
     </div> 
 
    </div> 
 
    </div> 
 

 
</form>

und hier ist das Skript:

<script> 
 
    $(function() { 
 
    $('#settings').popover({ 
 
     placement: 'top', 
 
     html: true, 
 
     content: $('#userSettings').html() 
 
    }) 
 
    }) < /script>

Gibt es eine Möglichkeit, den Popover cl haben Ose ohne die Auswahl zu verlieren?

Antwort

0

Wenn eine Eingabe nicht angezeigt wird, wird sie nicht als Teil der Formularübermittlung gesendet. Eine Lösung, wenn Sie diese Werte senden möchten, und popover verwenden ist:

  1. Sie versteckte Formularfelder hinzufügen könnte, die verwendet werden, diese Werte zu senden, die außerhalb des Popup-div und in der Form sind.

  2. Und bei Änderung jedes Optionsfelds den entsprechenden versteckten Eingabefeldwert aktualisieren. Jetzt

, wenn der Benutzer mit dem popover einreicht offen, dann wird es diese Informationen zweimal senden, wenn die popover in der Form ist, können Sie immer es außerhalb der Form bewegen könnten, wenn Sie nicht dies wollen. Hängt von Ihrem Anwendungsfall ab.