【发布时间】:2019-12-30 05:31:34
【问题描述】:
我在获取输入文本框中的值时遇到问题,这个文本框是模态形式的。当我将静态值放入输入文本框中时,我感到困惑,该值不为空,但是当我使用元素 id 值时,我无法获得任何值并且警报显示为空。
模态:
<form action="" method="post" enctype="multipart/form-data">
<div class="modal fade" id="exampleModalCenter" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLongTitle">New Menu Section</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-6">
<label>Menu Name</label>
<input placeholder="For sharing..." name="menu_name_category" value="" class="form-control" id="menu_value" type="text" class="validate">
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" id="save_menu_button">Save changes</button>
</div>
</div>
</div>
</div>
</form>
Javascript 和 Jquery:
var textFieldVal = document.getElementById("menu_value").value;
$('#save_menu_button').click(function() {
alert(textFieldVal);
});
【问题讨论】:
-
您可以通过调试“试运行”来查看问题所在。 1)打开页面 2)获取值 3)打开对话框 4)在输入中输入值 5)单击按钮并显示来自 2 的值。显然,您在输入甚至显示之前获取值并且单击按钮时不更新它.
-
变量超出范围
标签: javascript jquery bootstrap-modal