怎样获取指定form中的某个元素

AlexMoonshadow 2012-05-29 05:07:07
<form id="form1" name="form1">
<input id="company" type="text" name="pattern" size="30" value=""/>
........
</form>

<form id="form2" name="form2">
<input id="company" type="text" name="pattern" size="30" value=""/>
........
</form>
像上面这样,我一个jsp页面上有很多form,每个form中有一些相同的元素,在script中我怎样来取指定的某个form中的那个元素呢,不一定是input,也可能是选择框或者按钮之类的。试过很多种方法,又不想改变元素的id,因为那样,我脚本中的方法就要写很多遍了,只是元素不一样而已。

谢谢!
...全文
820 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
似梦飞花 2012-05-29
  • 打赏
  • 举报
回复
<script type="text/javascript">
function init(){
var els=document.getElementById("form1").elements;
for(var i=0;i<els.length;i++){
if(els[i].id=="company"){
alert(els[i].tagName);
}
}
}
window.onload=init;
</script>
这样试试
乌镇程序员 2012-05-29
  • 打赏
  • 举报
回复
方法很多,除了通过id直接选取外,还可以通过getElementsByTagName()、getElementsByName()来获取,比如:
var obj = document.getElementById('form1').getElementsByTagName('input');
alert(obj[1].value); //form1表单中第2个input元素的值

var obj = document.getElementById('form2').getElementsByName('pattern');
alert(obj[2].value); //form2表单中第3个name值为pattern的表单元素的值

AlexMoonshadow 2012-05-29
  • 打赏
  • 举报
回复
应该可以指定某个form里的某个元素吧。

[Quote=引用 1 楼 的回复:]

同一个页面上的元素的id值必须是唯一的。
[/Quote]
AlexMoonshadow 2012-05-29
  • 打赏
  • 举报
回复
谢谢,没法用jquery,完全只是个静态展示页面,我也想用jquery啊。

[Quote=引用 2 楼 的回复:]

使用jquery
$("#form2").find("#company")
[/Quote]
hypobenthos 2012-05-29
  • 打赏
  • 举报
回复
使用jquery
$("#form2").find("#company")
乌镇程序员 2012-05-29
  • 打赏
  • 举报
回复
同一个页面上的元素的id值必须是唯一的。
BOOL ControlsInitialization(HWND hWnd);//从控件句柄初始化 void ObjectInitialization(CComPtr pDisp);//对象初始化 CString TenToHtmlColor(DWORD CurColor);//将整数型的颜色值转换为网页支持的格式 void WebComplete(HWND hWnd,int Timedelay=0/*单位:毫秒 为空则一直等待*/);//确认网页已经完全载入 HWND GetIesHandle(HWND hWnd);//可以指定父句柄获取IES句柄 BOOL GetAllIesHandle(HWND hParent);//获取所有取已打开的所有网页窗口句柄 CArray m_hWnd;//返回的所有已打开窗口句柄数组 int WebpageNavigate(CString Strurl);//载入某个网址。 int WebpageWriteTextStream(CString StrTextStream);//写超文本流。 CComPtr GetWebpageObject();//取网页对象 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~以下为网页框架(frame)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~以下为网页按钮(Button)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ int ButGetIndex(CString NameOrID);//按钮取索引返回第一个满足条件的索引值,如果失败返回0 CString GetButName(int i);//获取指定索引按钮元素name(名称) CString GetButId(int i);//获取指定索引按钮元素id int GetButCount();//返回网页内所有按钮的数目 int ButClick(int i);//按钮按索引点击成功返1失败返回0 CString GetButHtml(int i);//获取指定索引按钮元素代码 CString GetButText(int i);//获取指定索引按钮元素文本 CComPtr Object_GetButObject(int i);//获取指定索引按钮对象 CString GetButValue(int i);//获取指定索引按钮标题 CString GetButType(int i);//获取指定索引按钮(Button)的类型(type),“button”、“submit”、“reset” /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~以下为网页Div~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ int GetDivCount();//返回网页内所有Div的数目 CComPtr Object_GetDivObject(int i);//获取指定索引DIV对象 CString GetDivHtml(int i);//获取指定索引Div元素代码 CString GetDivText(int i);//获取指定索引Div元素文本 CString GetDivName(int i);//获取指定索引Div元素name(名称) CString GetDivId(int i);//获取指定索引Div元素id int GetDivIndex(CString NameOrID);////Div取索引返回第一个满足条件的索引值,如果失败返回0 int DivClick(int i);//Div按索引点击成功返1失败返回0 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~以下为网页隐藏表单(hidden)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ int GetHiddenCount();//返回网页内所有隐藏表单的数目 CString GetHiddenName(int i);//获取指定索引隐藏表单元素name(名称) CString GetHiddenId(int i);//获取指定索引隐藏表单元素id CString GetHiddenValue(int i);//获取指定索引隐藏表单元素标题 int GetHiddenIndex(CString NameOrID);////隐藏表单取索引返回第一个满足条件的索引值,如果失败返回0 CComPtr Object_GetHiddenObject(int i);//获取指定索引隐藏表单对象 CString GetHiddenHtml(int i);//获取指定索引隐藏表单元素代码 CString GetHiddenText(int i);//获取指定索引隐藏表单元素文本 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~以下为网页表格(table)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ int GetTableCount();//返回网页内所有表格的数目 CString GetTableName(int i);//获取指定索引表格元素name(名称) CString GetTableId(int i);//获取指定索引表格元素id int GetTableIndex(CString NameOrID);//表格取索引返回第一个满足条件的索引值,如果失败返回0 CString GetTableHtml(int i);//获取指定索引表格元素代码 CString GetTableText(int i);//获取指定索引表格元素文本 int GetTableCellCount(int i);//获取指定索引表格单元格数量 int GetTableRowCount(int i);//获取指定索引表格的行数 CString GetTableDistributionCount(int i);//返回文本格式:“第1行x列,第2行x列,…,第N行x列” CComPtr Object_GetTableCellObject(int i,int row, int j);//获取单元格元素接口(第一个参数指定第几个表格,第二个参数指定第几行,第三个参数指定第几个单元格) CString GetTableCellText(int i,int row, int j);//获取单元格文本(第一个参数指定第几个表格,第二个参数指定第几行,第三个参数指定第几个单元格) CString GetTableCellHtml(int i,int row, int j);//获取单元格源码(第一个参数指定第几个表格,第二个参数指定第几行,第三个参数指定第几个单元格) CComPtr Object_GetTableObject(int i);//获取指定索引表格对象 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~以下为网页图片~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ CString GetImageName(int i);//获取指定索引图片元素name(名称) CString GetImageId(int i);//获取指定索引图片元素id int ImageClick(int i);//图片按索引点击成功返1失败返回0 int GetImageIndex(CString NameOrID);////图片取索引返回第一个满足条件的索引值,如果失败返回0 int GetImageCount();//返回网页内所有图片的数目 CString GetImageHref(int i);//获取指定索引图片连接地址 CString GetImageSrc(int i);//获取指定索引图片地址 CBitmap *GetImage(int i=NULL, CString vImageIDorName=NULL,int cx=NULL/*图片宽度*/,int cy=NULL/*图片高度*/);//参数1获取指定索引图片如果为NULL请指定参数2的图片Id或Nname /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~以下为网页单选框(radio)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ BOOL GetRadioChecked(int i);//检查单选框(radio)是否被选(checked),1为选,0为未选 BOOL SetRadioWhetherSelect(int i,int Select);//设置单选框(radio)选状态,第一个参数填写第几个单选框(radio)第二个添写是否选(1为选,0为未选) CString GetRadioName(int i);//获取指定索引单选框(radio)元素name(名称) CString GetRadioId(int i);//获取指定索引单选框(radio)元素id CString GetRadioValue(int i);//获取指定索引单选框(radio)元素标题 int GetRadioCount();//返回网页内所有单选框(radio)的数目 CComPtr Object_GetRadioObject(int i);//获取指定索引单选框(radio)对象 int GetRadioIndex(CString NameOrID);//单选框(radio)取索引返回第一个满足条件的索引值,如果失败返回0 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~以下为网页复选框(checkbox)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ BOOL GetCheckboxChecked(int i);//检查复选框(checkbox)是否被选(checked),1为选,0为未选 BOOL SetCheckboxWhetherSelect(int i,int Select);//设置复选框(checkbox)选状态,第一个参数填写第几个复选框(checkbox)第二个添写是否选(1为选,0为未选) CString GetCheckboxName(int i);//获取指定索引复选框(Checkbox)元素name(名称) CString GetCheckboxId(int i);//获取指定索引复选框(Checkbox)元素id CString GetCheckboxValue(int i);//获取指定索引复选框(Checkbox)元素标题 int GetCheckboxCount();//返回网页内所有复选框(Checkbox)的数目 CComPtr Object_GetCheckboxObject(int i);//获取指定索引复选框(Checkbox)对象 int GetCheckboxIndex(CString NameOrID);//复选框(Checkbox)取索引返回第一个满足条件的索引值,如果失败返回0 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~以下为网页组合框(Select)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ int GetSelectCount();//返回网页内所有组合框(Select)的数目 int GetSelectOptionCount(int i);//取某个组合框(Select)的选项(option)的数目 int GetSelectItem(int i);//取组合框(select)现行选项(0为位置1,1为位置2……) int SetSelectItem(int i,int setect);//选指定名称的组合框(Select)的指定索引的选项(options) CString GetSelectItemText(int i,int j);//取组合框(Select)某个选项(options)的文本(value)参数一为第几个组合框第二参数为组合框第几项 CString GetSelectName(int i);//取的某个组合框(Select)的名称(name) CString GetSelectId(int i);//取的某个组合框(Select)的Id int GetSelectIndex(CString NameOrID);//组合框(Select)取索引返回第一个满足条件的索引值,如果失败返回0 CComPtr Object_GetSelectObject(int i);//取的某个组合框(Select)的对象(Object) /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~以下为网页表单(Form)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ int GetFormIndex(CString NameOrID);//表单(Form)取索引返回第一个满足条件的索引值,如果失败返回0 int GetFormCount();//返回网页内所有表单(Form)的数目 CString GetFormName(int i);//取的某个表单(Form)的名称(name) CString GetFormId(int i);//取的某个表单(Form)的Id void GetFormSubmit(int i);//提交某个表单(Form) CComPtr Object_GetFormObject(int i);//取的某个表单(Form)的对象(Object) /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~以下为网页文本框(Text)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ int GetTextboxIndex(CString NameOrID);//文本框(Text)取索引返回第一个满足条件的索引值,如果失败返回0 void SetTextboxText(int i,CString StrTxt);//按索引填写文本框(Text) CString GetTextboxText(int i);//读取某个文本框(Text)内的内容(value) int GetTextboxCount();//返回网页内所有文本框(Text)的数目 CString GetTextboxType(int i);//取得某个文本框(Text)的类型。类型分为“text”、“password”、“file” CString GetTextboxName(int i);//取的某个文本框(Text)的名称(name) CString GetTextboxId(int i);//取的某个文本框(Text)的Id CComPtr Object_GetTextboxObject(int i);//取的某个文本框(Text)的对象(Object) /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~以下为网页多行文本框(TextArea)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ void SetTextAreaText(int i,CString StrTxt);//按索引填写多行文本框(TextArea)索引从1开始 CString GetTextAreaText(int i);//读取某个多行文本框(TextArea)内的内容(value) int GetTextAreaIndex(CString NameOrID);////多行文本框(TextArea)取索引返回第一个满足条件的索引值,如果失败返回0 int GetTextAreaCount();//返回网页内所有多行文本框(TextArea)的数目 CString GetTextAreaName(int i);//取的某个多行文本框(TextArea)的名称(name) CString GetTextAreaId(int i);//取的某个多行文本框(TextArea)的Id CComPtr Object_GetTextAreaObject(int i);//取的某个多行文本框(TextArea)的对象(Object) /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~以下为网页超链结(url)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ int LinkClick(int i);//超链结(url)按索引点击成功返1失败返回0 CString GetLinkHref(int i);//获取指定索引超链结(url)地址 int GetLinkCount();//返回网页内所有超链结(url)的数目 int GetLinkIndex(CString NameOrID);//超链结(url)取索引返回第一个满足条件的索引值,如果失败返回0 CString GetLinkHtml(int i);//获取指定索引超链结(url)元素代码 CString GetLinkText(int i);//获取指定索引超链结(url)元素文本 CComPtr Object_GetLinkObject(int i);//取的某个超链结(url)的对象(Object) /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~以下为网页获取对象(Object)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ CComPtr Object_GetObject_Aggregate(CString tag);//获取基于指定元素名称的对象集合(getElementsByTagName),参数1可添写如:“a”、“table”、“div”、“img”. CComPtr Object_GetObject_NameOrID(CString NameOrId, int i);//按名称或ID取网页元素对象,参数1(元素名称或ID)参数2(0=名称(name),1=ID) CComPtr Object_GetObject_Point(int x, int y);//返回指定 x 和 y 坐标的网页元素对象(elementFromPoint) /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~以下为网页对象(Object)操作~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ void ObjectOperation_ExecutionEvent(CComPtr pDisp,CString Event);//执行某个网页元素相关的脚本方法,事件名称一般是“onclick” void web_RunScript(CString Script,int type);//在当前网页上执行指定的脚本命令,参数1为脚本,参数2(添写1即为:JavaScript 业写2为:VBScript) void web_InsertCode(CString StrCode);//在网页插入网页HTML代码及自定义内容 void Destruction();

87,920

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧