我是Meteor和Javascript的新手。我已經慢慢地想出瞭如何設置一個模式表單,當我點擊一個按鈕時它將顯示出來,並且可以捕獲我的表單數據並在單擊提交時關閉表單。我卡住的地方在於,無論何時點擊按鈕添加更多數據,以前的值仍處於模態形式。我已經嘗試了大部分我發現的其他答案和例子,但我似乎無法弄清楚我需要做些什麼來使其清晰。任何建議,將不勝感激。以下是我目前有:如何在提交後清除模態值
莫代爾模板
<template name="addButton">
<div class="modal fade" id="addButton">
<form>
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">Add Button</h4>
</div>
<div class="modal-body">
<form role="form">
<div class="form-group">
<label for="buttonOrder">Button Order</label>
<input type="text" class="form-control" name="buttonOrder">
</div>
<div class="form-group">
<label for="buttonName">Button Name</label>
<input type="text" class="form-control" name="buttonName">
</div>
<div class="form-group">
<label for="buttonDescription">Button Description</label>
<input type="text" class="form-control" name="buttonDescription">
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancel</button>
<input type="submit" value="Submit" class="btn btn-primary"/>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</form>
</div>
</template>
莫代爾JS助手
Template.addButton.events({
'submit form': function(e) {
e.preventDefault();
var button = {
buttonOrder: $(e.target).find('[name=buttonOrder]').val(),
buttonName: $(e.target).find('[name=buttonName]').val(),
buttonDescription: $(e.target).find('[name=buttonDescription]').val()
}
button._id = Buttons.insert(button);
$('#addButton').modal('hide');
$(this).removeData('#addButton.modal');
}
})
@傑里米-S
我不能讓你的建議的工作,雖然會話密鑰建議爲我提供了一個適用於Bootstrap 2但不適用於Bootstrap 3的解決方案。儘管我懷疑它是最優雅的解決方案,但我終於可以使用Bootstrap 3了。我加了IDS的元素,只是將值設置爲每個元素設置爲null,像這樣:
$('#addButton').modal('hide')
$('#buttonOrder').val(null);
$('#buttonName').val(null);
$('#buttonDescription').val(null);
現在我只需要弄清楚爲什麼我不能讓它與會話密鑰和Bootstrap 3工作。