我收到了一项向 HTML 页面 (JSP) 添加功能的任务。该页面仅来自设计师/前端开发人员,因此在某些地方我需要更改a href to button or input但这会造成混乱,所有设计都改变了。这是一段代码:

<div class="col-md-3 col-sm-5 col-sx-12" id="leftmenu">
    <nav>
        <ul class="nav nav-pills nav-inline" id="addchild">
            <li>
                <a href="#" id="add">
                    <i class="glyphicon glyphicon-plus"></i>
                </a>
            </li>
            <li>
                <a href="#" id="addtext">Add Child / Student</a>
            </li>
        </ul>
        <ul class="nav nav-pills" id="parentinfo">
            <li>
                <a href="#" class="listItem" id="edit">
                    <span class="editicon">Edit</span>
                </a>
            </li>
            <li>
                <a href="#" class="listItem" id="edittext">
                    <span class="parentInfo">Parent Info</span>
                </a>
            </li>
        </ul>
        <ul class="nav nav-pills nav-stacked">
            <li>
                <a href="#" class="listItem" id="upgrade" style="color:#FFFFFF !important;">Upgrade Package</a>
            </li>
            <li>
                <a href="#" class="listItem" id="catalog" style="color:#FFFFFF !important;">Wow Catalog</a>
            </li>
        </ul>
    </nav>

我希望它像下面这样,而不改变外观:

<div class="col-md-3 col-sm-5 col-sx-12" id="leftmenu">
    <nav>
        <ul class="nav nav-pills nav-inline" id="addchild">
            <li>
                <a href="/register/studentSignup" type="submit" id="add">
                    <i class="glyphicon glyphicon-plus"></i>
                </a>
            </li>
            <li>
                <a href="/register/studentSignup" type="submit" id="addButton">Add Child / Student</a>
            </li>
        </ul>
        <ul class="nav nav-pills" id="parentinfo">
            <li>
                <input type="submit" class="listItem" name="action" value="editParentInfo" id="edit" />
                <span class="editicon">Edit</span>
            </li>
            <li>
                <input type="submit" class="listItem" name="action" value="editParentInfo" id="editParent" />
                <span class="parentInfo">Parent Info</span>
            </li>
        </ul>
        <ul class="nav nav-pills nav-stacked">
            <li>
                <a href="upgrade" class="listItem" id="upgrade" style="color:#FFFFFF !important;">Upgrade Package</a>
            </li>
            <li>
                <a href="#" class="listItem" id="catalog" style="color:#FFFFFF !important;">Wow Catalog</a>
            </li>
        </ul>
        <input type="hidden" name="parentID" path="parentID" value="${parentInfo.parentID}">
        <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
    </nav>

您不应该改变给您的设计。添加/更改visibleHTML 中的元素会更改布局。

同时进行这些修改不仅会给设计带来混乱,还会给 HTML 代码添加错误。

锚标记没有type="submit"属性。该属性在按钮和input元素。

修改href链接上的属性使 URL 在悬停时可见。这不是设计师强加的预期行为。也许他/她应该指导您如何继续编写代码而不更改设计。在这种情况下onclick and onsubmit可以使用 javascript 函数处理事件以提交表单。

这里的示例显示您可以提交带有验证的表单。

Note:该代码仅适用于Edit button.

JSFiddle https://jsfiddle.net/2p93eyuu/18/

HTML:

<form id="editForm" onsubmit="return doValidate();">
<div class="col-md-3 col-sm-5 col-sx-12" id="leftmenu">
    <nav>
        <ul class="nav nav-pills nav-inline" id="addchild">
            <li>
                <a href="#" id="add">
                    <i class="glyphicon glyphicon-plus"></i>
                </a>
            </li>
            <li>
                <a href="#" id="addtext">Add Child / Student</a>
            </li>
        </ul>
        <ul class="nav nav-pills" id="parentinfo">
            <li>                  
                <a href="#" class="listItem" id="edit"  onclick="doSubmit()">
                    <span class="editicon">Edit</span>
                </a>
                <input type="hidden" name="param" value="editParentInfo"/>

            </li>
            <li>
                <a href="#" class="listItem" id="edittext">
                    <span class="parentInfo">Parent Info</span>
                </a>
            </li>
        </ul>
        <ul class="nav nav-pills nav-stacked">
            <li>
                <a href="#" class="listItem" id="upgrade" style="color:#FFFFFF !important;">Upgrade Package</a>
            </li>
            <li>
                <a href="#" class="listItem" id="catalog" style="color:#FFFFFF !important;">Wow Catalog</a>
            </li>
        </ul>
    </nav>
    </div>
</form>

JavaScript:

function doSubmit() {
    alert("The form is submitting"); 
    var form =  document.getElementById("editForm");
    form.action="/register/studentSignup";
    form.method="post";
    submitForm(form);
}

function doValidate() {
  var form =  document.getElementById("editForm");
  alert("The form is being submitted\n"+"action="+form.action+", param="+form.param.value); 
  return false;
}  
function submitForm(form) {
    //get the form element's document to create the input control with
    //(this way will work across windows in IE8)
    var button = form.ownerDocument.createElement('input');
    //make sure it can't be seen/disrupts layout (even momentarily)
    button.style.display = 'none';
    //make it such that it will invoke submit if clicked
    button.type = 'submit';
    //append it and click it
    form.appendChild(button).click();
    //if it was prevented, make sure we don't get a build up of buttons
    form.removeChild(button);
}

参考:

  • 应该是 jQuery 的 $(form).submit();不在表单标签内触发onSubmit? https://stackoverflow.com/q/645555/573032
  • 中允许使用哪些标签? https://stackoverflow.com/q/4967976/573032
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

  • 如何将函数附加到弹出窗口关闭事件(Twitter Bootstrap)

    我做了一些搜索 但我只能认为我可以将事件附加到导致其关闭的按钮 https stackoverflow com questions 13205103 attach event handler to button in twitter boo
  • 为 Angular2 中的组件加载多个样式表

    我正在构建一个 angular2 应用程序 当我尝试为同一组件加载多个样式表时 我面临多个问题 这是我正在做的代码 import Component from angular core Component selector my tag t
  • JQuery Mobile 与 MVC 的链接

    我正在使用 ASP NET MVC 3 和 Razor UI 设置 JQuery 移动网站 我正在生成我的链接 例如 a href See Group 2 a 假设我从 Home Index 访问它 我遇到的问题是 当我点击链接时 它会出现
  • Chrome 扩展程序在代码中使用 client_secret

    我正在开发具有自己的 oAuth 授权的 Google Chrome 扩展 当然 我必须使用 client id 和 client secret 作为请求令牌 有什么办法可以向用户隐藏这些数据吗 由于此请求只是 javascript 源代码
  • 如何制作没有 ng-repeat 的模板并使用 Angular-drag-and-drop-lists 将数据传递到 $scope?

    我想用角度拖放列表 https github com marceljuenemann angular drag and drop lists使用我自己的网格模板到所见即所得编辑器 如何构建我自己的 HTML 模板而不需要ng repeat因
  • 使用 Jquery 清除 5 个空 TD

    我有一个正在填充的动态表 我知道我不应该这样做 但是你会如何连续找到 5 个空 TD 并隐藏它们呢 因此 如果行包含 5 个空 TD 则不显示 TD 我想删除每个实例 td td td td td td td td td td 在 DOM
  • 网站的主体和元素固定在 980px 宽度上,不会缩小

    我试图在 Rails 应用程序顶部启动前端 仅 HTML CSS 页面 但在使用 320px 视口时遇到问题 有些元素不会按比例缩小 我不明白为什么 我已经完成了检查元素 为各种元素提供了max width 100 and or width
  • Javascript split 不是一个函数

    嘿朋友们 我正在使用 javascript sdk 通过 jQuery facebook 多朋友选择器在用户朋友墙上发布信息 但是我收到此错误friendId split 不是函数 这是我的代码 function recommendToFr
  • Jquery一键提交多个同名表单

    我有动态创建的循环表单 我需要一键提交所有表单 我正在遵循下面的代码 你能建议我怎么做吗 谢谢
  • 从数据库检查数据的异步解决方案各种循环子句

    我想要做的是异步检查数据库并从中获取结果 在我的应用程序中我试图实现Asynchronously将此步骤解决为 从数据库中检查手机号码JsonArray循环子句的种类 Create JsonArray从结果 打印创建的数组 我学到了足够多的
  • 正则表达式 - 从 markdown 字符串中提取所有标题

    我在用灰质 https www npmjs com package gray matter 以便将文件系统中的 MD 文件解析为字符串 解析器产生的结果是这样的字符串 n Clean er ReactJS Code Conditional
  • 在移动设备上滚动

    这个问题更多的是一个建议研究 我确实希望它对其他人有帮助 并且它不会关闭 因为我不太确定在哪里寻求有关此事的建议 在过去的 6 个月里 我一直在进行移动开发 我有机会处理各种设备上的各种情况和错误 最麻烦的是滚动问题 当涉及到在网站的多个区
  • 使用css bootstrap时如何仅向一列添加右边框?

    我正在尝试使用CSS引导框架 http getbootstrap com css tables在我的项目中 我正在使用带有以下类的表table table bordered table striped 我想删除除第一列之外的所有列的边框 这
  • 如何使用 crypto-js 解密 AES ECB

    我正在尝试将加密数据从 flash 客户端 发送到服务器端的 javascript 在 asp 中作为 jscript 运行 有几个 javascript Aes 库 但它们实际上没有文档记录 我正在尝试使用 crypto js 但无法让代
  • 在 Shopify 商店中嵌入 Vue 组件

    在产品页面中 我尝试显示自定义 Vue 组件 为简洁起见 该组件根据给定的产品 ID 显示 Firebase 数据库中的一些信息 我最初尝试将其制作为 Shopify 应用程序 以便我可以访问他们的 API 我实现了 OAuth 并且可以检
  • 如何隐藏/禁用 Highcharts.js 中的图例框?

    我想问是否可以使用 HighCharts js 库隐藏图表中的所有图例框 var chart object chart renderTo render to type graph type colors graph colors title
  • 带参数的事件监听器

    我想将参数传递给 JavaScript 中的事件侦听器 我已经找到了解决方案 但我无法理解它们为什么或如何工作以及为什么其他解决方案不起作用 我有 C C 背景 但是 Javascript 函数的执行有很大不同 您能否帮助我理解以下示例如何
  • 使用 MongoDB 和 Nodejs 插入和查询日期

    我需要一些帮助在 mongodb 和 nodejs 中按日期查找记录 我将日期添加到抓取脚本中的 json 对象 如下所示 jsonObj last updated new Date 该对象被插入到 mongodb 中 我可以看到如下 la
  • 如何确定所有角度2分量都已渲染?

    当所有 Angular2 组件完成渲染时 是否会触发一个角度事件 For jQuery 我们可以用 function 然而 对于 Angular2 当domready事件被触发 html 只包含角度组件标签 每个组件完成渲染后 domrea
  • Vue.js[vuex] 如何从突变中调度?

    我有一个要应用于 json 对象的过滤器列表 我的突变看起来像这样 const mutations setStars state payload state stars payload this dispatch filter setRev

随机推荐

  • 通过外部接口接收复杂的 JavaScript 值

    我正在尝试使用提供的外部对象通过 TWebBrowser 使用 TEmbeddedWB 接收并可能发送复杂值 例如 在 javascript 中 我会尝试使用公开的方法并以数组作为参数 var test 123 abc external s
  • 在 capistrano 部署之前在开发机器上进行资产预编译

    我希望在 capistrano 对代码进行打包 tar 打包 之前在我的开发计算机上进行资产预编译 并且预编译资产已包含在最终部署包中 当我尝试内置的 capistrano 食谱时load deploy assets 它运行rake RAI
  • 想要设置ul的liinnerHTML

    我正在编写一个 javascript 函数 我得到一个ul来自我的 HTML 的对象并想要设置其中之一的文本li elements in theul 我正在做 list document getElementById list name 然
  • CSS:以位置显示图像:固定但允许用户缩放

    I ve created a page that scales large images to fit the window however it does not allow the user to zoom once the image
  • mongodb查询结果不带字段名

    有没有办法获取仅包含值而不包含字段名称的 mongodb 查询结果 我的查询给出了以下结果 t number 2508 t number 2560 t number 2599 理想情况下我希望查询结果是 2508 2560 2599 或者如
  • 列出 AWS SSM Parameter Store 中的所有参数

    如何列出 AWS Systems Manager SSM 参数存储中的所有参数 我正在使用 AWS CLI 我可以将它们存储为aws ssm put parameter 我可以用以下方式获取它们aws ssm get parameter 我
  • 如何使用C从文件中读取二维数组?

    I tried void read grid from file int grid const size t row const size t column FILE inf size t x y for x 0 x lt row x fo
  • 尝试使用 Terraform 创建 AWS VPC 安全组时出现循环错误

    我想创建 2 个 VPC 安全组 一台用于 VPC 的堡垒主机 一台用于私有子网 BASTION resource aws security group VPC BastionSG name VPC BastionSG descriptio
  • psql \copy 中的变量替换

    是否可以在 PSQL 控制台导出文件中将当前日期放在文件名末尾 导出的文件名应该是这样的表 20140710 csv可以动态地做到这一点吗 日期的格式可以与上面的不同 但这并不重要 这就是我的意思的例子 set curdate curren
  • Django Serializer 使用外键关系保存模型

    我正在尝试保存一个具有引用另一个表的外键的模型对象 尝试编写相同的序列化器 但是无法理解如何做到这一点 并且似乎也找不到正确的文档 我的模型对象 class Restaurant models Model name models CharF
  • 拒绝访问 .tmp 路径

    我正在尝试使用 DotNetZip 库压缩文件 我正在从文件中读取路径并将 zip 保存到该文件 但程序崩溃并抛出 这是我的代码 using ZipFile zip new ZipFile zip AddDirectory dir OUTP
  • 访问绑定源列值

    如何使用代码更新绑定源中的列值 我正在尝试类似的事情 CustomersBindingSource AddNew CustomersBindingSource Current CustomerID Guid NewGuid 此代码当前错误指
  • 在 Angular 2 中使用 SOAP 服务

    我想知道是否有人可以建议或向我指出网络上有关我的 Angular 2 应用程序如何使用 SOAP 服务的任何资源 不幸的是 这是一个遗留应用程序 因此目前没有 REST 替代方案 蒂亚 您可以查看这个 SOAP 客户端服务 https gi
  • 如何让内容占据100%的高度和宽度

    我已经很接近了 但我无法让它像我想要的那样工作 我试图让标题和菜单始终可见 并使内容占据视图屏幕的其余部分 并在溢出时拥有自己的滚动条 问题是内容的宽度没有被拉伸到右侧 并且我在页面中间出现了一个滚动条 我也无法让它占据剩余窗口高度的其余部
  • 智能指针作为多态性的类成员

    我是智能指针的新手 如果有人能给我提示我作为类成员处理智能指针的方式是否正确 我将非常感激 更准确地说 我想要实现的解决方案是在类多态性的背景下实现的 并且理想情况下应该是异常安全的 Given a 异构对象的容器 http www par
  • 来自 BLL 中的一种方法的跨多个 DAL 方法的事务

    您将如何从业务逻辑层中的一个方法调用数据访问层中的多个方法 以便所有 SQL 命令都存在于一个 SQL 事务中 每个 DAL 方法都可以从 BLL 中的其他位置单独调用 因此不能保证数据层方法始终是事务的一部分 我们需要此功能 因此如果数据
  • @StringRes、@DrawableRes、@LayoutRes等android注解lint检查与kotlin参数

    假设您有这样的带有默认参数的数据类 data class Info DrawableRes val iconRes Int 0 StringRes val stringRes Int 0 LayoutRes val layoutRes In
  • 无法解析符号“RequestQueue”

    我是 android studio 和 volley 库的新手 所以请耐心等待 我通过 GitHub 添加了 volley 库 然后添加了这一行来构建 gradle 文件 compile com android support appcom
  • 查找对象数组中最后一个匹配的对象

    我有一系列对象 我需要获取最后一个对象的对象类型 本例中为 形状 将其删除 然后找到数组中具有相同类型的前一个对象的索引 例如 形状 var fruits shape round name orange shape round name a
  • JSP中页面

    我收到了一项向 HTML 页面 JSP 添加功能的任务 该页面仅来自设计师 前端开发人员 因此在某些地方我需要更改a href to button or input但这会造成混乱 所有设计都改变了 这是一段代码 div class col