【发布时间】:2020-09-22 20:00:57
【问题描述】:
为了在 bootbox.confirm 框中显示两个输入字段,我在消息字段中嵌入了一个 HTML 表单。一切正常,但如果我在 textarea 中输入文本,保存按钮会失去焦点,需要两次单击保存按钮才能执行保存并清除模式。不过,问题出在下面的代码之外。这个jsfiddle 一键就可以正常工作。我实际上无法分享其中的数千行代码,有谁知道可能是什么原因造成的以及我该如何解决?
bootbox.confirm({
title: "Save Foo",
message: '<div class="row"> ' +
'<div class="col-md-12"> ' +
'<div class="text-center">Save</div>' +
'<form class="form-horizontal"> ' +
'<div class="form-group"> ' +
'<label class="col-md-4 control-label" for="Question">Question</label> ' +
'<div class="col-md-4"> ' +
'<input id="name" name="name" type="text" value="Question" class="form-control input-md"> ' +
'<span class="help-block">You can edit your question before saving</span> </div> ' +
'</div> ' +
'<div class="form-group"> ' +
'<label class="col-md-4 control-label" for="notesbox">Notes:</label> ' +
'<div class="col-md-4"> <div class="textarea"> <label for="notesbox"> ' +
'<textarea name="notesbox" id="notesbox" rows="10" cols="30"></textarea></form></div> ' +
'</label> ' +
'</div>' +
'</div> ' +
'</div> </div>' +
'</form> </div> </div>',
buttons: {
'cancel': {
label: 'Don\'t save',
className: 'btn-danger pull-left'
},
'confirm': {
label: 'Save',
className: 'btn-success pull-right',
}
},callback: function (result) { if (result == true)
{ alert('Success')}
}
}
);
【问题讨论】:
-
在这种情况下使用对话框助手可能会更好,而不是尝试使用确认。不过,我在这里看不到任何需要多次点击的东西。
-
看起来您为消息创建的标记无效 - 可能值得为此使用模板。稍后我将添加一个简单的答案来说明我的意思。
标签: javascript bootbox