
/
@see 获得表单里的数据(不光是表单,任何元素都可以)
@param id 表单的ID
@param type 要返回的类型: string返回用&拼接的字符串, object返回一个js对象, json表示返回json格式的字符串
@return 根据type而定,默认为string
/
function getFormData(id, type) {
if (getO(id) != null) {
var str = "";
var obj = new Object();
var json = "{";
var array = getO(id)getElementsByTagName("input");
var rdbArr = new Array();
var ckbArr = new Array();
for (var i = 0; i < arraylength; i++) {
if (array[i]name != null && array[i]name != "") {
if (array[i]type == null || array[i]type == "") {
array[i]type = "text";
}
var inType = array[i]typetoLowerCase();
if (inType == "text" || inType == "hidden" || inType == "password") {
str += array[i]name + "=" + array[i]value + "&";
obj[array[i]name] = array[i]value;
json += array[i]name + ":'" + array[i]valuereplace(/\'/g, "\"") + "',";
} else if (inType == "radio") {
if (!isArrayHave(rdbArr, array[i]name)) {
rdbArr[rdbArrlength] = array[i]name;
}
} else if (inType == "checkbox") {
if (!isArrayHave(ckbArr, array[i]name)) {
ckbArr[ckbArrlength] = array[i]name;
}
}
}
}
for (var i = 0; i < rdbArrlength; i++) {
var key = rdbArr[i], value = getRadio(rdbArr[i]);
str += key + "=" + value + "&";
obj[key] = value;
json += key + ":'" + valuereplace(/\'/g, "\"") + "',";
}
for (var i = 0; i < ckbArrlength; i++) {
var key = ckbArr[i], value = getBox(ckbArr[i]);
str += key + "=" + value + "&";
obj[key] = value;
json += key + ":'" + valuereplace(/\'/g, "\"") + "',";
}
array = getO(id)getElementsByTagName("textarea");
for (var i = 0; i < arraylength; i++) {
if (array[i]name != null && array[i]name != "") {
str += array[i]name + "=" + array[i]value + "&";
obj[array[i]name] = array[i]value;
json += array[i]name + ":'" + array[i]valuereplace(/\'/g, "\"") + "',";
}
}
array = getO(id)getElementsByTagName("select");
for (var i = 0; i < arraylength; i++) {
if (array[i]name != null && array[i]name != "") {
str += array[i]name + "=" + array[i]value + "&";
obj[array[i]name] = array[i]value;
json += array[i]name + ":'" + array[i]valuereplace(/\'/g, "\"") + "',";
}
}
str = (strlength > 0 strsubstring(0, strlength - 1) : str);
json = (jsonlength > 1 jsonsubstring(0, jsonlength - 1) : json);
json += "}";
if (type == "object") {
return obj;
} else if (type == "json") {
return json;
} else {
return str;
}
} else {
alertWin(id + "\u672a\u5b9a\u4e49");
}
return "";
}
第一种情况就是宽高都写在样式表里,就比如#div1{width:120px;}。这中情况通过#div1stylewidth拿不到宽度,而通过#div1offsetWidth才可以获取到宽度。
第二种情况就是宽和高是写在行内中,比如style="width:120px;",这中情况通过上述2个方法都能拿到宽度。(什么是行内,就是直接在html标签上写样式)
小结,因为idoffsetWidth和idoffsetHeight无视样式写在样式表还是行内,所以我们获取元素宽和高的时候最好用这2个属性。注意如果不是写在行内style中的属性都不能通过idstyleatrr来获取。
现在的前端制作很少直接把样式写style里了,都是写在样式表里。如果你要获取的样式没有相对应的(就像#div1stylewidth对 应#div1offsetWidth),就只能分别针对不用浏览器来获取样式表的属性了,可以试着搜索“JS 获取样式属性”之类的。
代码:
var o = documentgetElementById("view");var h = ooffsetHeight; //高度var w = ooffsetWidth; //宽度
扩展资料:
js编程:
JavaScript是一种脚本语言,其源代码在发往客户端运行之前不需经过编译,而是将文本格式的字符代码发送给浏览器由浏览器解释运行。直译语言的弱点是安全性较差,而且在JavaScript中,如果一条运行不了,那么下面的语言也无法运行。而其解决办法就是于使用try{}catch(){}。
Javascript被归类为直译语言,因为主流的引擎都是每次运行时加载代码并解译。V8是将所有代码解译后再开始运行,其他引擎则是逐行解译(SpiderMonkey会将解译过的指令暂存,以提高性能,称为实时编译),但由于V8的核心部份多数用Javascript撰写(而SpiderMonkey是用C++)。
因此,在不同的测试上,两者性能互有优劣。与其相对应的是编译语言,例如C语言,以编译语言编写的程序在运行之前,必须经过编译,将代码编译为机器码,再加以运行。
参考资料:
完全没看懂你的问题。。。不过自己猜了一下你的问题,解答如下:
function
a()
{
thisa=1;
thisb=2;
thisc=3;
thisd=4;
}
function
getval()
{
aa
=
new
a();
sum
=
aa
+
ab;
}
代码没有经过测试,不过根据你的意思猜测应该是想把a()当做一个类,然后调用里面的成员。所以需要在里面加上this,这样才能在外部调用。代码如果不能用,上网查查吧。很多的。
直接使用js中的value属相即可获取到输入框的内容。
代码示例如下:
<!DOCTYPE html><html>
<head>
<meta charset="UTF-8">
<title>获取输入框的值</title>
<script type="text/javascript">
windowonload=function(){
var bt=documentgetElementById("bt2");
var btt=documentgetElementById("bt1");
btonclick=function(){
alert(bt1value);
}
}
</script>
</head>
<body>
请输入内容<input type="text" id="bt1" /><br>
<input type="button" id="bt2" value="获取输入数据" />
</body>
</html>
效果如下:
<html>
<body>
<script language="JavaScript">
function OP()
{
//因为页面中只有一个name为text1的所以取第一个元素
var x=documentgetElementsByName("Text1")[0];
alert(xvalue);
}
</script>
<p><input id="Text1" type="text" name="text1" /></p>
<p><input type="button" value="显示输入的内容" onclick="return OP()"/></p>
</body>
</html>
原因:<input id="Text1" type="text" />没有设置name这个属性,所以 var x=documentgetElementsByName("Text1");是不对的,得用 getElementById,第二个错误,是取值。
扩展资料:
关于上述中提到的name属性
name 和 id 属性都可以与 href 属性结合起来使用,这样一个 <a> 标签就可以同时作为超链接和片段标识符使用。
可以简单地将片段标识符看作是对许多编程语言中普遍使用的 goto 语句标签的 HTML 模拟。<a> 标签中的 name 属性或者 <a> 或其他标签中的 id 属性会在文档中放置一个标识。
当标签用于链接到该文档时,就等于告诉浏览器要转到(goto)该标识。id 或 name 属性的值可以是引号引起来的任何字符串。
字符串必须是唯一的标记,不能在同一文档中的其他 name 或 id 属性中重复使用,但是可以在不同的文档中再次使用。
如果使用 id 属性,上面的实例可改写为:
<a id="#C1">第一章</a>
<a id="#C2">第二章</a>
<a id="#C3">第三章</a>
<a id="#C3">第四章</a>
js中如何获取一个id的值:
方法一、
<html>
<head>
<script
language="javascript">
function
print(){
var
a=myformnamevalue;
alert(a);
}
</script>
</head>
<body>
<form
name="myform">
<input
type="text"
name="name"
id="nn"
/>
<input
type="button"
name="button"
value="获取"
onclick="print()"
/>
</form>
</body>
</html>
这是获取网页input值的方法之一,给from一个名字然后在JavaScript的地方就可以用form的名字来调用form表单里input元素的value属性可以得到值,并把值赋给a,最后用JavaScript的alert()打印方法打印出来。
方法二、
Java代码
<html>
<head>
<script
language="javascript">
function
print(){
var
a=documentgetElementById("nn")value;
alert(a);
}
</script>
</head>
<body>
<form>
<input
type="text"
name="name"
id="nn"
/>
<input
type="button"
name="button"
value="获取"
onclick="print()"
/>
</form>
</body>
</html>
上面的两种方法都可以得到页面里input元素的值,一个是用表单名,一个是用元素id
两方面都要处理,一个是提交的时候,在数据库里先检查这个选项的人数是不是够10个,如果超了就不再提交,另外方面,在显示页面的时候,先检查这三个选项各自的人数,如果人数已超就不再显示或禁用对应的option
以上就是关于获取数值的表单JS 怎么写呢全部的内容,包括:获取数值的表单JS 怎么写呢、怎么用js获取div的当前宽度、JS函数如何获取几个数值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)