问题描述:
<script type="text/javascript">
function toPage(url) {
window.open(url);
}
</script>
<form action="Xxx.action?method=list" method="post">
记录1 <input type="button" onclick="toPage(url);" value="操作">
记录2 <input type="button" onclick="toPage(url);" value="操作">
记录3 <input type="button" onclick="toPage(url);" value="操作">
记录4 <input type="button" onclick="toPage(url);" value="操作">
......
记录N <input type="button" onclick="toPage(url);" value="操作">
</form>
上述代码的 操作 的url中含有大量的参数,如:
/exam/review.action?method=getPaper?stuId=4028810a31b834960131b838qn20090204&stuNo=20095338&paperId=402881ed347812a901347813f96d0001&examId=402881ed347812a90134781601fe0023&classNo=QN200902
由于Get 方式传输的数据量非常小,一般限制在 2 KB 左右,而如此之长的数据很有可能会超过其大小,所以想用post方式提交。
-------------------------------------------------------------------------------------------------------------------------------
解决方法:
<script type="text/javascript">
function toPage(url, data) {
// data 格式如下:
// stuId=4028810a31b834960131b838qn20090204&stuNo=20095338&paperId=402881ed347812a901347813f96d0001&examId=402881ed347812a90134781601fe0023&classNo=QN200902
data += '&'; // 用来分割最后一个参数
var target = '_blank';
var tempForm = document.createElement("form");
tempForm.id = "tempForm1";
tempForm.method = "post";
tempForm.action = url;
tempForm.target = target;
var count = 0;
var t = '';
var name = '';
var value = '';
// 将data分割分割成name和value,并根据其创建隐藏域
for (var i=0; i<data.length; i++) {
var tmp = data.charAt(i);
if(tmp != '=' && tmp != '&') {
t += tmp;
} else {
count++;
if(count % 2 != 0) {
name = t;
t = '';
} else {
value = t;
t = '';
var hideInput = document.createElement("input");
hideInput.type = "hidden";
hideInput.name = name;
hideInput.value = value;
tempForm.appendChild(hideInput);
}
}
}
document.body.appendChild(tempForm);
tempForm.submit();
document.body.removeChild(tempForm);
}
</script>
<form action="Xxx.action?method=list" method="post">
记录1 <input type="button" onclick="toPage(url, data);" value="操作">
记录2 <input type="button" onclick="toPage(url, data);" value="操作">
记录3 <input type="button" onclick="toPage(url, data);" value="操作">
记录4 <input type="button" onclick="toPage(url, data);" value="操作">
......
记录N <input type="button" onclick="toPage(url, data);" value="操作">
</form>
-------------------------------------------------------------------------------------------------------------------------------
总结:
1.get与post的区别:
get传输数据量小,执行效率快,不安全
post传输数据量大,安全
2.js分割字符串
3.js document.createElement()方法
-------------------------------------------------------------------------------------------------------------------------------
参考网址:
http://www.cnblogs.com/jack-liang/archive/2011/07/07/2099921.html
http://www.cnblogs.com/caicainiao/archive/2011/07/02/2096275.html
http://www.cnblogs.com/shenba/archive/2009/08/16/1547429.html
分享到:
相关推荐
问题在于,当`onclick`属性的值包含字符串和整数时,由于单引号的存在,导致参数传递失败,进而使整个JS模块失效。 原因分析: `onclick`属性中的字符串通常是以双引号包裹的,而其中的参数值可能包含单引号。在...
综上所述,要实现在JavaScript中提取字符串中的数字,可以利用正则表达式和`replace()`方法。同时,了解HTML与JavaScript的交互、DOM以及字符编码等基础知识也是很重要的。在实际应用中,你可能需要根据具体需求对这...
首先,Android提供了TextView和WebView两种主要方式来处理字符串中的超链接。对于TextView,我们可以通过设置SpannableString和ClickableSpan来实现。以下是一个简单的示例: ```java TextView textView = ...
本文介绍了如何在JavaScript中实现一个格式化字符串的函数String.format,其主要功能是通过占位符的方式动态插入变量,同时解决了引号转义的问题,提高了代码的整洁性和可读性。 首先,问题的提出是在需要通过...
`split()`方法允许我们将一个字符串分割成多个子字符串,并将结果存储在一个数组中。它的基本语法是`string.split(separator[, limit])`。`separator`参数是一个用来定义分割位置的字符串或正则表达式,`limit`可选...
submit是button的一个特例,也是button的一种,它把提交这个动作...使用button按钮实现submit提交,需要在button标签中的使用onclick方法,然后在JavaScript中实现具体,代码如下: <head> [removed] functio
JavaScript提供了一种通过字符串来调用函数的机制,使得函数调用可以动态化,极大地增强了代码的灵活性和可扩展性。 通过字符串调用函数的原理在于JavaScript引擎可以识别并执行在全局对象(在浏览器环境中是window...
`eval`函数将字符串`js`作为JavaScript代码执行,从而触发对应的功能。 由于`eval`的使用并不是最佳实践,更好的替代方案是使用现代JavaScript的事件委托或者动态创建带有正确事件处理器的函数。例如,可以使用纯...
JavaScript提供了丰富的方法来处理字符串,包括但不限于获取子字符串(substring)、替换字符(replace)、转换大小写(toLowerCase和toUpperCase)、搜索字符(search)等。其中,去除空白字符是字符串处理中的一项基本需求...
通过上述示例代码,我们可以看到字符串的截取以及全选并删除功能的具体实现方式。这些功能不仅可以提升用户的使用体验,还能简化页面的设计,使整个系统更加高效易用。开发者可以根据实际情况调整代码细节,以适应...
"Spring Boot + Thymeleaf 实现后端直接给 onclick 函数赋值的知识点" Spring Boot 是一个基于 Java 的框架,用于构建基于 Web 的应用程序,而 Thymeleaf 是一个基于 XML 的模板引擎,用于生成 HTML 内容。在 ...
在Web开发中,JavaScript是用于实现网页交互性的核心技术之一。通过JavaScript,开发者可以编写脚本来处理用户的点击、输入、页面加载等各种事件。本文将详细介绍JavaScript中一种常见的事件处理用法——onclick...
4. **分割字符串**: - 如果包含小数点,将字符串分为整数部分和小数部分。 - 如果不包含小数点,则整个字符串作为整数部分处理。 5. **处理整数部分**: - 使用循环来分割整数部分为三位一组,并在每组之间插入...
在网页开发中,JavaScript 是一种常用的脚本语言,用于实现页面的交互效果。"onclick" 事件是JavaScript中的一种事件处理函数,它会在用户点击一个元素时触发指定的代码。在这个场景中,我们讨论的是如何利用 ...
### JavaScript自定义函数参数传递为字符串格式 在JavaScript编程中,函数是程序的基本构建块之一,用于封装一段可重复使用的代码逻辑。对于函数而言,参数的传递是非常重要的一个环节,它直接影响到函数内部如何...
ASP.NET和JavaScript结合实现无刷新提交是Web开发中的一个重要技术,它使得用户在与网页交互时无需等待页面完全刷新,从而提升用户体验。无刷新提交,也称为Ajax(Asynchronous JavaScript and XML)技术,通过在...
在Android开发中,为了实现丰富的文本格式化,如加大、加粗、变小、更换颜色、增加超链接等效果,开发者通常会使用可变字符串(SpannableString)类。本篇将详细介绍Android中的可变字符串及其相关应用。 一、...
本文介绍了一种解决字符串拼接在IE浏览器中报错的方法,通过正确处理引号和转义字符,来保证JavaScript代码的正确执行。 首先,需要明确在JavaScript中单引号和双引号的区别以及使用场景。在JavaScript中,单引号和...
本文将详细解析一种具体的实现方法,即通过C#中的正则表达式来过滤字符串中的图片标签以及其他一些可能存在的不安全或不必要的标签。 #### 正则表达式简介 正则表达式是一种强大的文本匹配工具,它允许我们定义一...