类型:转载 责任编辑:asp.net 日期:2007/05/23
热门软件下载:
<input name="Option" type="checkbox" value="1_1_文字介绍一">
<input name="Option" type="checkbox" value="1_2_文字介绍二">
<input name="Option" type="checkbox" value="1_3_文字介绍三">
以上三个,传递后为一个三列数组,可以通过分离得到第一个数中的1和1和文字介绍一。相应的可以得到后面两个数。
但
<input name="Option" type="checkbox" value="1_1_文字介绍一">
<input name="Option" type="checkbox" value="1_2_文字介绍二">
<input name="Option" type="checkbox" value="1_3_文字介绍三">
<input type="text" name="Option" size="12" value="1_4_文字介绍">
也可以分别得到。得到那些参数肯定没问题了。但现在需要解决的就是,1_4_文字介绍这个值需要原封不动的传到数组中,并且显示的时候只显示1 还可以修改这个 1 ,而后面的 _4_文字介绍 不需要显示。
怎样做到??
网友回答:
显示的时候将字符拆开。保存时再合并。
提交到后端页面后, 只按照 name 来区分各个控件了。 没法得知 <input> 的 type 属性。 所以你需要在表单提交之前,将不同 type 的字段信息分门别类,保存到不同的 textarea 中, 再 post 即可。
后端的页面只取这几个 textarea 的值, 然后拆分。 这样就不会 checkbox 和 text 类型的混起来了。
例子:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="木野狐, chenrong2003[at]hotmail.com">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<form onsubmit="merge()" name="form1">
<input name="Option" type="checkbox" value="1_1_文字介绍一">
<input name="Option" type="checkbox" value="1_2_文字介绍二">
<input name="Option" type="checkbox" value="1_3_文字介绍三">
<input type="text" name="Option" size="12" value="1_4_文字介绍">
<textarea name="checkboxs" style="display: none;"></textarea>
<textarea name="texts" style="display: none;"></textarea>
<br>
<input type="submit" value="submit">
</form>
<script>
function merge()
{
var inputs = document.getElementsByName("Option");
for (var i = 0; i < inputs.length; i++)
{
if (inputs[i].type == "text")
document.form1.texts.value += | + inputs[i].value;
else if (inputs[i].type == "checkbox")
document.form1.checkboxs.value += | + inputs[i].value;
}
if (document.form1.texts.value.length > 0)
document.form1.texts.value = document.form1.texts.value.substr(1, document.form1.texts.value.length - 1);
if (document.form1.checkboxs.value.length > 0)
document.form1.checkboxs.value = document.form1.checkboxs.value.substr(1, document.form1.checkboxs.value.length - 1);
alert(document.form1.texts.value);
alert(document.form1.checkboxs.value);
document.form1.submit();
}
</script>
</BODY>
</HTML>
换个name不是很好嘛
学习一下
**********************************************
语言这东西真郁闷,一个小东西要写那么多语言
语言这东西真神奇,一段程序就可以实现一个效果
**********************************************
错了就要改,花多少代价也得改,不然以后人家接手怎么理解!
有点高手的味道-----把简单的问题做复杂
好求深奥。。哥哥些。。。我看不懂。。。
我的答案对你没有帮助么? 可能是我看错你的意思了?
实在越看越糊涂了
问题再讲清楚一下,感觉不难...就是逻辑问题
http://www.lookm.com/freefilm.htm?user=sohopo
用<select> 不行么?
换个思路不行吗??
问题再讲清楚一下
其他参数用隐藏域?
我觉得楼主可以把VALUE里的值用符号分段贮存在数据库里的字段里
然后在取值显示的时候将该字段里的值按一定的规则再取出来
这样即使你想任意取某一个都不需要在页面里直接操作那么麻烦了对吧