求高手写js脚本 function getSubmitButton(myForm){ return 传进来的myForm里面所有的submit按钮;}我的方法是遍历myForm中的input按钮,判断其type是否为"submit",感觉很土...谁有更漂亮的方法???请赐教~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 jq: <script src="jquery-1.4.min.js"></script><script> $(function(){ $(":submit").each(function(index){ alert($(this).val()) }) })</script> <form> <input type="text" /> <input type="checkbox" /> <input type="radio" /> <input type="image" /> <input type="file" /> <input type="submit" value="1"/> <input type="submit" value="2"/> <input type="submit" value="3"/> <input type="submit" value="4"/> <input type="submit" value="5"/> <input type="reset" /> <input type="password" /> <input type="button" /> <select><option/></select> <textarea></textarea> <button></button></form> 遍历myForm中的input按钮,判断其type是否为"submit",感觉很土...很土的方法,往往是最有效的方法 我覺得只有這種土辦法了。瀏覽器就提供了那麼多API 给每个submit按钮设置一个class,然后使用document.getElementsByClassName( ) 这个东东只能自定义吧。印象中只有getElementById,getElementByName和getElementsTagName这三种哦。。 DOM1/2 里面都没有这样的方法function getElementsByClassName(className, parentElement){var elems = ($(parentElement)||document.body).getElementsByTagName("*");var result=[];for (i=0; j=elems[i]; i++){ if ((" "+j.className+" ").indexOf(" "+className+" ")!=-1){ result.push(j); }}return result;} 到网上搜索了一下,这儿有一个更好的议案:var getElementsByClassName = function (searchClass, node,tag) { if(document.getElementsByClassName){ var nodes = (node || document).getElementsByClassName(searchClass),result = []; for(var i=0 ;node = nodes[i++];){ if(tag !== "*" && node.tagName === tag.toUpperCase()){ result.push(node) }else{ result.push(node) } } return result }else{ node = node || document; tag = tag || "*"; var classes = searchClass.split(" "), elements = (tag === "*" && node.all)? node.all : node.getElementsByTagName(tag), patterns = [], current, match; var i = classes.length; while(--i >= 0){ patterns.push(new RegExp("(^|\\s)" + classes[i] + "(\\s|$)")); } var j = elements.length; while(--j >= 0){ current = elements[j]; match = false; for(var k=0, kl=patterns.length; k<kl; k++){ match = patterns[k].test(current.className); if (!match) break; } if (match) result.push(current); } return result; } } 要提交form?如果用jquery就很简单了,$("#buttonID").click(处理事件,$.ajax()) 那为什么不为submit按钮添加namedocument.getElementByName("submitName") 在IE下不能用document.getElementsByName获取到div span 这些标准文档中没有规定必须有Name属性的元素.document.getElementsByName()不支持伪属性,div的name就属于伪属性还有就是,楼主貌似是想一下子获得所有的submit按钮吧,而这个方法从名字上就可以看出只会返回一个。 标签传值 人人网底部工具栏的奥秘在哪? 求一个用JS正则表达式写的计算器 JS进程等待 谁能帮我把这段jquery的代码改成纯js的呢?【可以继续加分 网页生成静态,如何搜索也生成静态谢谢 想对一个数组重新排序. 如何得到INPUT 的输入值? (在history.back() 后) 帮忙看看? 在jquery 1.11.1版本中,如何实现jquery 1.9以下版本里面的toggle功能? 使用jquery或css实现去除文本选择效果 大家好,我想问一下在jQuery中如何获取上一个网页传过来的request.querystring的值
<script src="jquery-1.4.min.js"></script>
<script>
$(function(){
$(":submit").each(function(index){
alert($(this).val())
})
})
</script>
<form>
<input type="text" />
<input type="checkbox" />
<input type="radio" />
<input type="image" />
<input type="file" />
<input type="submit" value="1"/>
<input type="submit" value="2"/>
<input type="submit" value="3"/>
<input type="submit" value="4"/>
<input type="submit" value="5"/>
<input type="reset" />
<input type="password" />
<input type="button" />
<select><option/></select>
<textarea></textarea>
<button></button>
</form>
function getElementsByClassName(className, parentElement){
var elems = ($(parentElement)||document.body).getElementsByTagName("*");
var result=[];
for (i=0; j=elems[i]; i++){
if ((" "+j.className+" ").indexOf(" "+className+" ")!=-1){
result.push(j);
}
}
return result;
}
var getElementsByClassName = function (searchClass, node,tag) {
if(document.getElementsByClassName){
var nodes = (node || document).getElementsByClassName(searchClass),result = [];
for(var i=0 ;node = nodes[i++];){
if(tag !== "*" && node.tagName === tag.toUpperCase()){
result.push(node)
}else{
result.push(node)
}
}
return result
}else{
node = node || document;
tag = tag || "*";
var classes = searchClass.split(" "),
elements = (tag === "*" && node.all)? node.all : node.getElementsByTagName(tag),
patterns = [],
current,
match;
var i = classes.length;
while(--i >= 0){
patterns.push(new RegExp("(^|\\s)" + classes[i] + "(\\s|$)"));
}
var j = elements.length;
while(--j >= 0){
current = elements[j];
match = false;
for(var k=0, kl=patterns.length; k<kl; k++){
match = patterns[k].test(current.className);
if (!match) break;
}
if (match) result.push(current);
}
return result;
}
}
如果用jquery就很简单了,
$("#buttonID").click(处理事件,$.ajax())
那为什么不为submit按钮添加name
document.getElementByName("submitName")
在IE下不能用document.getElementsByName
获取到div span 这些标准文档中没有规定必须有Name属性的元素.
document.getElementsByName()
不支持伪属性,div的name就属于伪属性还有就是,楼主貌似是想一下子获得所有的submit按钮吧,而这个方法从名字上就可以看出只会返回一个。