动态替换 href
Dynamically replace href
我的网站中有以下代码行 - CodePen。
我正在尝试做的是让用户在下载项目之前必须先填写表单:
<div class="container">
<!-- Trigger the modal with a button -->
<a href="#example1" class="btn btn-warning btn-lg" data-toggle="modal" data-target="#myModal">Download Item #1</a>
<a href="#example2" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Download Item #2</a>
<!-- Modal -->
<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Modal Header</h4>
</div>
<div class="modal-body">
<form role="form">
<div class="form-group">
<label for="email">Email address:</label>
<input type="email" class="form-control" id="email">
</div>
<div class="form-group">
<label for="pwd">Password:</label>
<input type="password" class="form-control" id="pwd">
</div>
<div class="checkbox">
<label>
<input type="checkbox"> Remember me</label>
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</div>
如何使用户选择页面上的第一个或第二个按钮时,它将此信息发送到提交按钮?
您可以将链接存储在变量中。然后,单击该按钮时,检查字段是否为空(并应用任何验证规则)。如果不为空,请将提交应用于表单。
$link = 'example.com/download.pdf';
$('.button').click(function(){
// CHECK THE FIELDS ARE NOT EMPTY
// APPLY YOUR OWN VALIDATION
if($field1 = $('.field1').val() != '' && $('.field2').val() != ''){
// DO WHAT YOU NEED TO DO WITH THE LINK
$('form').submit();
}
})
附带说明一下,您可能因为没有向我们提供解决自己问题的尝试而被投了反对票(不是我自己)。您向我们提供了您的 html,但没有提供任何经过测试的逻辑。
你在 JavaScript 中向按钮添加一个点击处理程序:
var fieldsAreReadyToBeSent = function() {
// Validation code goes here
// return true if valid & false if invalid
};
document.querySelector("[type=submit]").addEventListener("click", function() {
if(!fieldsAreReadyToBeSent()) {
event.preventDefault();
}
});
该方法event.preventDefault()
防止您的表单被提交,如果它被认为是无效的!
演示 :
var fieldsAreReadyToBeSent = function() {
return false; // FOR THIS DEMO, ALWAYS RETURN FALSE
};
document.querySelector("[type=submit]").addEventListener("click", function() {
if(!fieldsAreReadyToBeSent()) { // FOR THIS DEMO, THIS IS ALWAYS TRUE
event.preventDefault();
}
});
<div class="container">
<!-- Trigger the modal with a button -->
<a href="#example1" class="btn btn-warning btn-lg" data-toggle="modal" data-target="#myModal">Download Item #1</a>
<a href="#example2" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Download Item #2</a>
<!-- Modal -->
<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Modal Header</h4>
</div>
<div class="modal-body">
<form role="form">
<div class="form-group">
<label for="email">Email address:</label>
<input type="email" class="form-control" id="email">
</div>
<div class="form-group">
<label for="pwd">Password:</label>
<input type="password" class="form-control" id="pwd">
</div>
<div class="checkbox">
<label>
<input type="checkbox"> Remember me</label>
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</div>
相关文章:
- D3 Javascript HREF链接替换
- 将href中的图像替换为其他元素中的图像
- 如何用JavaScript正则表达式替换href中的所有内容
- 如何使用 jQuery 替换文本中的 HREF 链接
- 如何在 jQuery 中将 HTML 标记的 HREF URL 替换为不完整的属性
- 使用 jquery 替换 href 的一部分
- 替换 href 元素菜单中的 SID 值数据
- Javascript:模式HREF需要替换
- 如何在jquery中替换Anchore标签href中的一些文本
- 从锚标记中获取元素 ID 并替换 href
- Javascript 在最后一个斜杠 / 之后替换 href 的某些字符
- 将锚标记 href 替换为 URL 字符串 JavaScript 中的变量
- 检测网址/链接,并用 img 标签替换图像,用 href 替换链接
- 将 href 替换为 js 函数调用
- 创建regex以将输入值中的href替换为单引号
- 这个javascript正则表达式做什么?: var match = self.location.href.替换(美元/
- 使用jQuery或javascript将href替换为其他内容
- 将href替换为angular正则表达式
- 每个锚点的JQuery href替换缩略图img src
- Window.open + href 替换并弹出到新窗口中,但不使用目标_blank