Web表单提交之disabled问题js解决方法

本文实例讲述了Web表单提交之disabled问题js解决方法。分享给大家供大家参考。具体分析如下:

例如,有如下表单

代码如下:

<form id="inputForm" action="shorttermrental.action" method="post">
     <input name="pname" type="text" id="pname" value="xxx" size="20" disabled="disabled"/>
     <input name="but" type="submit" id="but" value="xxx" size="20"/>
</form>

当我们提交表单时,在后台是获取不了pname数据的,因为该输入框的属性disabled。即能保存值也能保留用户不能输入这种功能有以下解决方法:

1. 将disabled="disabled"属性改为readonly="readonly"代替,其功能是基本一样,readonly还能支持onfocus事件。(推荐使用)

代码如下:

<input name="xxx" id="xxx" value="xxx" size="20" readonly="readonly"/>

2. 在form表单提交时利用js将disabled属性修改

代码如下:

<input name="but" type="button" id="but" value="xxx" size="20"/>
<script type="text/javascript">
function submit_form(){
 //javascript写法
 document.getElementById("pname").disabled="";
 document.getElementById("inputForm").submit();
 //jQuery写法
 $("#pname").attr("disabled",false);
 $("#inputForm").submit();
}
</script>

3. 将pname的值用js获取,使用参数形式传递,修改form的action值,当然这样需要修改后台代码,获取该参数(getParameter);

代码如下:

<script type="text/javascript">
function submit_form(){
    //jQuery写法
      var pname = $("#pname").val();
 $("#inputForm").attr("action","shorttermrental.action?panme="+pname+"&p="+new Date());
    $("#inputForm").submit();
  //javascript写法
    var pname = document.getElementById("pname").value;
    document.getElementById("pname").action = "shorttermrental.action?panme="+pname+"&p="+new Date();
    document.getElementById("pname").submit();
    }
</script>

一点小建议:当我们书写脚本语言时,我们一般热衷于jQuery书写,因为它很简炼,jQuery是将javascript封装的,取HTML等值时,采用正则表达式匹配获取,
因此必然影响效率,所以建议大家当有大量脚本时,一般采用javascript。

希望本文所述对大家的javascript程序设计有所帮助。

(0)

相关推荐

  • JS定义网页表单提交(submit)的方法

    本文实例讲述了JS定义网页表单提交(submit)的方法.分享给大家供大家参考.具体如下: 这段代码表示网页表单提交时不是提交到指定的页面,而是执行一个特定的函数 <script> function saveInfo() { localStorage.setItem("name",$("#name").val()); } </script> <form id=register onSubmit="return saveInfo

  • js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装

    前段时间写了一个 js数据验证.js email验证.js url验证.js长度验证.js数字验证等 弹出对话框形式的但是,现在不太流行那种很不友好的方式,于是重写了一个,封装得更加好的,更友好的层形式共享给大家,如果大家使用有bug,请大家给我留言完善,谢谢了. js代码 复制代码 代码如下: /** * 数据验证框架.增加了对id字段检查出错时,直接在对应后面添加一< span>元素来显示错误信息. * * @author wangzi6hao * @version 2.1 * @desc

  • 可实现多表单提交的javascript函数

    <script language=javascript> function submitForm(formId,action){     var form=document.getElementById(formId);     form.action=action;     form.submit(); } </script> 传个表单ID和url进去就行了~

  • 符合标准的js表单提交的代码

    复制代码 代码如下: <script language="javascript" type="text/javascript">          document.forms["form_name"].submit(); </script>

  • 如何使用JavaScript和正则表达式进行数据验证

    数据验证是网络应用软件从客户端接受数据的重要步骤,毕竟,您需要在使用客户数据前确保其符合预期的格式.在网络应用程序中,您可以选择使用特定平台的工具,比如ASP.NET.JSP等等,或者您可以利用客户端JavaScript的优势,JavaScript中的正则表达式可以简化数据验证的工作. 正则表达式 正则表达式是一种模式匹配的工具,它允许您以文字方式来表述模式,因而正则表达式成为了一个验证文本数据的强大工具.除了模式匹配之外,正则表达式还可以用于文字替换.从我在UNIX系统上使用Perl时第一次接

  • 基于JavaScript实现带数据验证和复选框的表单提交

    实现: 1.用户至少选中某项,即表示选中该行,同时该行的数据验证通过,表单提交:否则,不提交. html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>带数据验证和复选框的表单提交</title> <script src="../commonJqery/jquery-3.0.0.js&q

  • 表单提交时自动复制内容到剪贴板的js代码

    <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>交时自动复制到剪贴板</title> </head> <script language="JavaScript"> /*功能:提交时自动复制到剪贴板 */ function copyTe

  • javascript 回车键触发表单提交的问题

    比如搜索行为,希望输入完关键词之后直接按回车键立即提交表单,而有些复杂表单,可能要避免回车键误操作在未完成表单填写的时候就触发了表单提交. 要控制这些行为,不需要借助JS,浏览器已经帮我们做了这些处理,这里总结几条规则: 如果表单里有一个type="submit"的按钮,回车键生效. 如果表单里只有一个type="text"的input,不管按钮是什么type,回车键生效. 如果按钮不是用input,而是用button,并且没有加type,IE下默认为type=bu

  • asp.net中JavaScript数据验证实现代码

    今天在做一个数据修改的页面,页面上有一个DropDownList控件,绑定的是实体中的重要属性,我希望用户在修改该控件值的时候,提示用户,他修改了该控件的值.所以为该下拉控件加上了如下语句. 复制代码 代码如下: DDLmaterial.Attributes.Add("onchange", "alert('注意:您修改了物品类型!')"); 似乎不错,不仅有提示效果,也不需要刷新页面.可是当我打开页面进行测试的时候就发现了问题,当我把下拉控件的值改回原值的时候,它还

  • Javascript级联下拉菜单以及AJAX数据验证核心代码

    虽然也使用了Prototype.js来编写,但是由于对它的不了解,类的实现仍然是使用了<JavaScript高级程序设计>里的方法.使用AJAX进行数据验证时,最初使用的是XML来当数据源,然而在使用了一段时间后,发现XML效率太低,于是又使用JSON来做为数据源. 一年过去了,客户又提出了新的需求,最初是只要输入框的两个数据相符就行,现在的要求是两个下拉菜单的数据也要相符,于是,我利用此机会,将代码重构了一次. 需求: 1.根据下拉菜单产品名称.产品包装的选择,右面的图片要进行相应的变化.

  • JavaScript判断表单提交时哪个radio按钮被选中的方法

    本文实例讲述了JavaScript判断表单提交时哪个radio按钮被选中的方法.分享给大家供大家参考.具体分析如下: 这里的表单提交时通过JavaScript判断哪个radio按钮被选中了 <script type="text/javascript"> function findButton() { var myForm = document.forms.animalForm; var i; for(i=0;i<myForm.marsupial.length; i++

随机推荐