Javascript 如何在HTML中创建表单时创建链接到相应选项卡的选项卡按钮
我正在用HTML创建一个包含多个选项卡的表单。我有一个“上一页”和“下一页”按钮来浏览所有选项卡,就像它们是页面一样。我还在标签底部画了一个圆圈,告诉用户他们正在使用哪个标签,哪些标签是下一个标签,哪些标签是前一个标签。我想每个标签都是一个链接,当用户点击它时,将链接到各自的标签。例如,如果我单击标记为A的选项卡圆,它将带我到A选项卡。我尝试使用和锚定标记的内部链接,但这似乎不起作用。有什么想法吗?多谢各位Javascript 如何在HTML中创建表单时创建链接到相应选项卡的选项卡按钮,javascript,html,Javascript,Html,我正在用HTML创建一个包含多个选项卡的表单。我有一个“上一页”和“下一页”按钮来浏览所有选项卡,就像它们是页面一样。我还在标签底部画了一个圆圈,告诉用户他们正在使用哪个标签,哪些标签是下一个标签,哪些标签是前一个标签。我想每个标签都是一个链接,当用户点击它时,将链接到各自的标签。例如,如果我单击标记为A的选项卡圆,它将带我到A选项卡。我尝试使用和锚定标记的内部链接,但这似乎不起作用。有什么想法吗?多谢各位 //表单选项卡 var currentTab=0;//当前选项卡设置为第一个选项卡(0
//表单选项卡
var currentTab=0;//当前选项卡设置为第一个选项卡(0)
显示选项卡(当前选项卡);//显示当前选项卡
功能显示选项卡(n){
//此函数将显示表单的指定选项卡。。。
var x=document.getElementsByClassName(“选项卡”);
x[n].style.display=“块”;
//…并修复上一个/下一个按钮:
/*如果(n==0){
document.getElementById(“prevBtn”).style.display=“无”;
}否则{
document.getElementById(“prevBtn”).style.display=“inline”;
}
如果(n==(x.length-1)){
document.getElementById(“nextBtn”).innerHTML=“提交”;
}否则{
document.getElementById(“nextBtn”).innerHTML=“Next”;
}*/
//…并运行显示正确步骤指示器的功能:
//表格1仅显示“下一步”按钮,禁用“上一步”按钮。
如果(n==0){
document.getElementById(“prevBtn”).style.display=“无”;
}否则{
document.getElementById(“prevBtn”).style.display=“inline”;
}
//表格5只显示上一个按钮,下一个按钮被禁用。
如果(n==1){
document.getElementById(“nextBtn”).style.display=“无”;
}否则{
document.getElementById(“nextBtn”).style.display=“inline”;
}
固定步进指示器(n)
}
函数nextPrev(n){
//此函数将确定要显示的选项卡
var x=document.getElementsByClassName(“选项卡”);
//如果当前选项卡中的任何字段无效,请退出该功能:
如果(n==1&&!validateForm())返回false;
//隐藏当前选项卡:
x[currentTab].style.display=“无”;
//将当前选项卡增加或减少1:
currentTab=currentTab+n;
//如果您已到达表单的末尾…:
如果(currentTab>=x.length){
//…表格将在以下时间提交:
document.getElementById(“regForm”).submit();
返回false;
}
//否则,显示正确的选项卡:
显示选项卡(当前选项卡);
}
函数validateForm(){
//此函数用于验证表单字段
变量x,y,i,valid=true;
x=document.getElementsByClassName(“选项卡”);
y=x[currentTab].getElementsByTagName(“输入”);
//检查当前选项卡中每个输入字段的循环:
对于(i=0;i
选择的/*样式*/
/*设计表格的样式*/
#正则表达式{
背景色:#e9e9e9;
保证金:20px自动;
宽度:70%;
最小宽度:300px;
}
/*制作圆圈,指示表格的步骤:*/
.步骤{
高度:15px;
宽度:15px;
边际:0.2px;
背景色:#b8cce4;
边界:无;
边界半径:50%;
显示:内联块;
不透明度:0.5;
}
/*标记活动步骤:*/
.step.active{
不透明度:1;
}
/*标记已完成且有效的步骤:*/
.一步完成{
背景色:#b8cce4;
}
/*用于蓝色背景标题*/
蓝头{
背景色:#b8cce4;
}
表A
表B
以前的
下一个
A.
B
编辑:我已经编写了自己的代码,将其用作指南,使用您的圆圈和其他东西。:)
编辑2:在JSFIDLE链接中为您提供了更酷的放大效果
创建可切换选项卡
<!-- Tab links -->
<div class="tab">
<button class="tablinks" onclick="openTab(event, 'First')">First Tab</button>
<button class="tablinks" onclick="openTab(event, 'Second')">Second Tab</button>
<button class="tablinks" onclick="openTab(event, 'Third')">Third tab</button>
</div>
<!-- Tab content -->
<div id="First" class="tabcontent">
<h3>First tab</h3>
<p>Hi there! I'm the first tab.</p>
</div>
<div id="Second" class="tabcontent">
<h3>Second tab</h3>
<p>I'm the second tab.</p>
</div>
<div id="Third" class="tabcontent">
<h3>Third tab</h3>
<p>I'm the third tab.</p>
</div>
给他们一些js
function openTab(evt, tabName) {
// Declare all variables
var i, tabcontent, tablinks;
// Get all elements with class="tabcontent" and hide them
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
// Get all elements with class="tablinks" and remove the class "active"
tablinks = document.getElementsByClassName("tablinks");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" active", "");
}
// Show the current tab, and add an "active" class to the button that opened the tab
document.getElementById(tabName).style.display = "block";
evt.currentTarget.className += " active";
}
函数openTab(evt,tabName){
//声明所有变量
var i,tabcontent,tablinks;
//使用class=“tabcontent”获取所有元素并隐藏它们
tabcontent=document.getElementsByClassName(“tabcontent”);
对于(i=0;ifunction openTab(evt, tabName) {
// Declare all variables
var i, tabcontent, tablinks;
// Get all elements with class="tabcontent" and hide them
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
// Get all elements with class="tablinks" and remove the class "active"
tablinks = document.getElementsByClassName("tablinks");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" active", "");
}
// Show the current tab, and add an "active" class to the button that opened the tab
document.getElementById(tabName).style.display = "block";
evt.currentTarget.className += " active";
}