我正在尝试向我的网站添加一个模式,该模式会在表单的“名称”字段留空时出现,以通知用户。
到目前为止我所拥有的是:
<div id="myModal-winner" class="modal fade">
<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">There is a Problem!</h4>
</div>
<div class="modal-body">
<p>Please Enter Name of Winner.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-info" data-dismiss="modal">Ok</button>
</div>
</div>
</div>
</div>
如果 Name 留空,应该使模式出现的 JS:
//when user clicks on the "submit" button
form.submit({point: point}, function (event) {
//prevent the default form behavior (which would refresh the page)
event.preventDefault();
//form validation
if( !$("input[name=name]", this).val() ) {
$("#myModal-winner").modal('show');
}
//put all form elements in a "data" object
var data = {
name: $("input[name=name]", this).val(),
address: $("textarea[name=address]", this).val(),
about: $("textarea[name=about]", this).val(),
month: $("select[name=month]",this).val(),
year: $("select[name=year]",this).val(),
lat: event.data.point.overlay.getPosition().lat(),
lon: event.data.point.overlay.getPosition().lng()
};
trace(data)
//send the results to the PHP script that adds the point to the database
$.post("addwinner.php", data, tidy_maps.saveStopResponse, "json");
但是控制台返回:Uncaught TypeError: undefined is not a function
,就行了:
$("#myModal-winner").modal('show');
这是带有提交按钮的表单:
<div class="winner-add">
<form class="form-horizontal winner-form" method="post" style="display: none" action="addwinner.php">
<h4>Add Winner</h4>
<img src="" >
<fieldset>
<label for="name">
<span>Event Name :</span>
<input id="name" type="text" name="name" placeholder="Enter Name of Winner" />
</label>
<label for="address">
<span>Description :</span>
<textarea id="address" name="address" placeholder="Address of Winner"></textarea>
</label>
<label for="about">
<span>Description :</span>
<textarea id="about" name="about" placeholder="Details of Award"></textarea>
</label>
<label for="image">
<span>Upload a Photo:</span>
<input type="file" id="image" name="image" />
</label>
<hr>
<div class="form-actions">
<input name="Save" type="submit" class="btn btn-success btn-sm" value="Save">
</div>
</fieldset>
</form>
最佳答案
我同意 Jarod 的观点,看起来 jQuery 没有被加载。确保您有<script src="path_to_jquery"></script>
位于 Bootstrap 脚本标记的正上方。
或者,如果您的项目文件夹中没有 jQuery,您可以从互联网上获取它:<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
关于javascript - Bootstrap 模态 : Undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29440871/