Hi, One more question related to this html. How do I distinguish between the two "Add" buttons? Thanks, Manish
Manish Sapariya wrote: > Hi, > Here is one more html. > > ---------- > $ie.frame("mainFrame").table(:id, /tblMain/i).cells.each { |l| > if l.text_field(:name, "hostName").exists? then > puts "Flashing input box\n" > l.text_field(:name, "hostName").flash > end > } > Flashing input box > Flashing input box > Flashing input box > Flashing input box > Flashing input box > 0 > --------- > > irb says it found the field five times, but the html source has it listed > only once. It however flashesh the same input field. > > Can somebody explain. > Thanks, > Manish > > ------------------------------------------------------------------------ > > > > > > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> > <html><head> > <meta http-equiv="Content-Type" content="text/html; > charset=iso-8859-1"><title>iManager</title> > > <link href="styles/c1.css" rel="stylesheet" type="text/css"> > <link href="styles/css.css" rel="stylesheet" type="text/css"> > <link href="styles/c01.css" rel="stylesheet" type="text/css"> > <link href="styles/ddmenu.css" rel="stylesheet" type="text/css"> > <link href="styles/temp.css" rel="stylesheet" type="text/css"> > <style type="text/css"> > .dTree * IMG { border:0; } > .exampleFormat { color:#003399; } > .errorFormat { color:#cc0000; } > #alias_type_format TT SPAN { background-color:#ECF0F4; padding:0 3px } > </style> > <!-- css styles end --> > > <script language="javascript"> var imageUrl ="images/"; </script> > <!-- include js begin --> > > <script language="javascript" src="js/ddmenu"></script><!-- calendar code ---> > <script language="javascript" src="js/popcalendar"></script> > <script language="javascript" src="js/listcopyitems.js"></script> > <script language="javascript" src="js/temp.js"></script> > <script language="javascript" src="js/treejs.js"></script> > <script language="javascript" src="js/retreef.js"></script> > <script language="javascript" src="js/dtree.js"></script> > <script language="javascript"> > /* > label= (match pattern) ^^ [+|-] ^^ (example format) > + = replace all whitespaces > with line break > - = replace all spaces with > single space, keep the linebreaks > */ > > var formatUserInputBox = true; > > function getSelectedItemType(o) > { > var selectedIndex = -1; > var selected = false; > for(var i=0; i<o.options.length;i++) > { > if(o.options[i].selected) { > var s = o.options[i]; > > document.getElementById('alias_selected_item_type').innerHTML = > s.value.substring(s.value.indexOf(":")+1).replace(/_/g," "); > break; > } > } > > } > > function Trim(str) > { > var singleSpacing = (Trim.arguments.length==2); > if(typeof(str)=='object') > { > if(!str.value) return; > if(singleSpacing) > str.value = str.value.replace(/^\s+/g, > '').replace(/\s+$/g, ''); > else > str.value = str.value.replace(/^\s+/g, > '').replace(/\s+$/g, '').replace(/ {2,}/g, ' '); > } > else > { > if(singleSpacing) > return str.replace(/^\s+/g, '').replace(/\s+$/g, ''); > else > { > return str.replace(/^\s+/g, '').replace(/\s+$/g, > '').replace(/ {2,}/g, ' '); > } > } > } > > function resetFormatStyle() > { > document.getElementById('alias_type_format').className='exampleFormat'; > showFormat(document.getElementById('SELECT_ALIAS_ITEM_TYPE')); > } > > function testContent(v) > { > if (v==null || v.length=='undefined') return false; > //window.status = v.length; > var aliastype = document.getElementById("SELECT_ALIAS_ITEM_TYPE"); > var aliastypeInd = aliastype.selectedIndex; > var ptn = aliastype.options[aliastypeInd].label; > var ptn = ptn.substring(0, ptn.indexOf(" ^^ ")); > var re = new RegExp(ptn, "g"); > > v = Trim(v); > > if(!v.match(re)) > { > document.getElementById("alias_type_format").className = > "errorFormat"; > return false; > } > > return true; > } > > function showFormat(o) > { > var i = o.selectedIndex; > var s = o.options[i].label; > var t = s.substring(s.lastIndexOf(" ^^ ")+4); > document.getElementById("alias_type_format").innerHTML = > "example:<br><tt>" + unescape(t) + "</tt>"; > document.forms[0].INPUT_ALIAS_ITEM_LIST.focus(); > } > > function transformAll(strTmp, trans) > { > var arr = trans.split("~"); > var evalStr = ""; > for(var i=0; i<arr.length; i++) > { > evalStr = "strTmp=strTmp.replace("+arr[i]+")"; > eval(evalStr); > } > return strTmp; > } > > function transformSpaces(str, trans) > { > var pattern = ""; > var strTmp = ""; > if(typeof(str)=='object') > { > if (str.value) strTmp = str.value; > } > else > strTmp = str; > var x = '@ = @.replace(/{}/g,"{}")'; > x = x.replace(/@/g,"strTmp"); > if(trans=="-" || trans=="+") > { > if(trans=="+") > x = x.replace(/\{\}/,"\\s+").replace(/\{\}/,"\\r\\n"); > else > { > x = x.replace(/\{\}/," {2,}").replace(/\{\}/," > ").replace(/\r\n\s+/g,"\\r\\n").replace(/\s+\r\n/g,"\\r\\n"); > } > eval(x); > return strTmp; > } > else > if(trans.length>0) return transformAll(strTmp, trans); > > return ""; > } > > function getStrTransformation(o) > { > var s = o.options[o.selectedIndex].label; > if(s.match(/\s+$/)) formatUserInputBox = false; else formatUserInputBox > = true; > var re = new RegExp(/^.* \^\^ (.+) \^\^ .*$/); > if(s.match(re)) > { > s = s.replace(re,"$1"); > return s; > } > return null; > } > > function addToAlias() > { > var aliaslist = document.getElementById("LIST_ALIAS_ITEMS"); > if( (addToAlias.arguments.length==1 && addToAlias.arguments[0]==true) ) > { > /* Add another alias item > */ > var inputaliasitems = > document.getElementById("SELECT_EXISTING_ALIAS_ITEM"); > var i = inputaliasitems.selectedIndex; > var sType = "EXISTING_ALIAS-"; > var sValue = inputaliasitems.options[i].text; > > if( !itemInTargetList( aliaslist, new Option( sType + " " + > sValue, sType + sValue ) ) ) > insertItemIn( aliaslist, sType + " " + sValue, sType + > sValue ); > else > alert('item is already in the list'); > } > else > { > /* Add item, not an alias item > */ > var inputaliasitems = > document.getElementById("INPUT_ALIAS_ITEM_LIST"); > var aliastype = > document.getElementById("SELECT_ALIAS_ITEM_TYPE"); > var aliastypeInd = aliastype.selectedIndex; > var sType = aliastype.options[aliastypeInd].value + "-"; > var sValue = inputaliasitems.value; > > if(Trim(sValue).length<1) { alert('Please paste or enter IP > Address to match the selected Attribute Type'); return; } > var strTransformation = getStrTransformation(aliastype); > if( strTransformation ) { sValue = transformSpaces(sValue, > strTransformation); } > sValue = Trim(sValue); > if( formatUserInputBox ) inputaliasitems.value = sValue; > > if ( testContent(sValue) ) > { > var arrItems = sValue.split("\r\n"); > var n = arrItems.length; > for(var i=0; i<n; i++) > { > if( !itemInTargetList( aliaslist, new > Option(sType+" "+arrItems[i], sType+arrItems[i])) ) > { > insertItemIn( aliaslist, sType+" > "+arrItems[i], sType+arrItems[i] ); > arrItems[i]=null; > } > } > inputaliasitems.value = sValue = ""; > for(var i=0; i<n; i++) > if(arrItems[i]!=null) sValue += arrItems[i] + > "\r\n"; > > if(sValue.length!=0) { inputaliasitems.value = sValue; > alert("items already exist in the list"); } > > } > else > { > alert('Incorrect IP Address format encountered.\nPlease > paste or enter IP Address to match the selected Attribute Type.'); > inputaliasitems.focus(); > } > } > } > function SelectAll(Selectbox) { > for (var i=0; i<Selectbox.length; i++) > Selectbox[i].selected = true > } > > </script> > </head> > > > <body> > <div id="infobar"> > <div class="rsummaryh" style="padding:6px;"> Alias Groups > </div> > > <div id="breadcrumb"><a href="javascript:void(0)">Home</a> > Admin > > Alias Groups > Add New Alias </div> > > </div> > <div id="mcontent"> > <table id="tblMain" width="100%" border="0" cellspacing="0" > cellpadding="0"> > <tr> > <td id="dnavCol" width="160" valign="top" style="border-right:8px > solid white"> > <!-- LEFT NAV --> > > <div class="btnopenldap"> > <div id="listname" onClick="toggleList(this.parentNode)" > onMouseOver="this.style.color='#006699'" > onMouseOut="this.style.color='#8C8C8C'">Alias Groups</div> > > <div id="nitemlist" class="oVisible"> > <div class="btnaddldap" > onClick="location.href='/devicemgr/RePreCreateAlias.do'" > onMouseOver="this.style.color='#006699'" > onMouseOut="this.style.color='#8C8C8C'">Add New Alias</div> > > > > </div> > > <div style="height:44px;width:100%"> </div></td> > <td width="100%" valign="top" id="mCol"><table width="100%" > border="0" cellpadding="0" cellspacing="0" class="tbltabs"> > <tr> > <td class="tabuppr"><table width="100%" border="0" > cellspacing="0" cellpadding="0"> > <tr> > <td nowrap class="tabactivebtn2" > style="white-space:nowrap;width:140px">Alias Groups</td> > > <td> </td> > </tr> > > </table></td> > </tr> > <tr> > <td class="tablwr"><img src="images/spacer.gif" width="1" > height="3"></td> > </tr> > </table> > > <table width="100%" border="0" cellspacing="10" cellpadding="0"> > > > <tr> > <td> <form name="ReAliasCreateActionForm" method="post" > action="/devicemgr/ReCreateAlias.do"> > <input type="hidden" > name="methodToCall" value="createAlias"> > <table width="100%" border="0" cellspacing="0" > cellpadding="0"> > <tr> > <td width="1%"> </td> > <td width="93%"><table height="15" border="0" > cellpadding="0" cellspacing="0"> > <tr> > <td class="navbg"> </td> > </tr> > </table> > <div class="navbg" style="margin:5px 10px 6px > 10px"><strong>New Alias</strong></div> > > <table width="90%" border="0" cellpadding="0" > cellspacing="0" class="tbluserform"> > <tr> > <td width="13" class="tbluformtl"><img > src="images/spacer.gif" width="13" height="13"></td> > <td class="tdt"><img src="images/spacer.gif" > width="1" height="1"></td> > <td width="13" class="tbluformtr"><img > src="images/spacer.gif" width="13" height="13"></td> > </tr> > <tr> > <td class="tdl"><img src="images/spacer.gif" > width="1" height="1"></td> > <td><table width="100%" border="0" > cellspacing="6" cellpadding="0"> > > > <tr> > <td valign="top" align="right">Alias > name:</td> > <td valign="top"><input type="text" > name="hostName" size="4" value="" style="width:100%"></td> > <td width="250" height="450" rowspan="5" > valign="top" bgcolor="#ECF0F4" style="border-left:1px solid #7F9DB9; > padding-left:6px" align="center"><table width="100%" height="24" border="0" > cellpadding="0" cellspacing="0"> > <tr> > <td id="alias_selected_item_type" > style="font-family:courier new, courier, mono">Items added</td> > </tr> > </table> > > > <select name="selectedAliases" > multiple="multiple" size="40" onchange="getSelectedItemType(this)" > id="LIST_ALIAS_ITEMS" style="width:100%;height:400px; border:1px solid > #ccc;padding:4px"></select> > <div style="white-space:nowrap"><img > src="images/btndelete.gif" width="66" height="22" > onClick="document.getElementById('alias_selected_item_type').innerHTML=' > ';if(confirm('Delete this item from the list?')) > deleteSelectedItems(document.getElementById('LIST_ALIAS_ITEMS'));"> > > <img > src="images/btndeleteall.gif" width="83" height="22" > onClick="document.getElementById('alias_selected_item_type').innerHTML=' > ';if(confirm('Delete all items in the list?')) > deleteAllItems(document.getElementById('LIST_ALIAS_ITEMS'));"></div></td></tr> > <tr> > <td valign="top" > align="right">Description:</td> > <td valign="top"><input type="text" > name="hostDesc" size="4" value="" style="width:100%"></td> > </tr> > > <tr> > <td valign="top" > align="right"> </td> > <td valign="top"> </td> > </tr> > <tr> > <td><img src="images/spacer.gif" > width="1" height="1"></td> > <td bgcolor="#D6D6D6"><img > src="images/spacer.gif" width="1" height="1"></td> > </tr> > > <tr> > > <td valign="top"><table width="100%" > border="0" cellspacing="0" cellpadding="0"> > <tr> > <td height="24" > align="right">Attribute Type:</td> > </tr> > <tr> > <td height="24"> </td> > </tr> > <tr> > > <td height="24" > align="right"> </td> > </tr> > <tr> > <td height="24" align="right">Enter > or paste values: </td> > </tr> > <tr> > <td height="24"> </td> > </tr> > > <tr> > <td height="24"> </td> > </tr> > <tr> > <td height="24"> </td> > </tr> > </table></td> > <td valign="top"><table width="100%" > border="0" cellspacing="0" cellpadding="0"> > > > <tr> > > <td width="6" height="24" > valign="top"><select id="SELECT_ALIAS_ITEM_TYPE" > name="SELECT_ALIAS_ITEM_TYPE" onChange="showFormat(this)"> > <option value="IP" > label="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((\r\n)+(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$ > ^^ + ^^ 64.38.1.1 ">IP</option> > <option value="IP_SUBNET" > label="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/([1-9]|1\d|2\d|3[0-2])((\r\n)+(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/([1-9]|1\d|2\d|3[0-2]))*$ > ^^ + ^^ 64.38.1.1/8 ">IP/Subnet Mask</option> > <option value="IP_RANGE" > label="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)-(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\s+(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)-(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$ > ^^ + ^^ %3Cspan%3E64.230.1.1%3C/span%3E-%3Cspan%3E64.230.1.1%3C/span%3E ">IP > Range</option> > </select></td> > </tr> > <tr> > > <td id="alias_type_format" > height="30" valign="bottom" class="exampleFormat">^... please choose type</td> > </tr> > <tr> > <td height="24" valign="top" > align="right"><img src="images/btnAddgroup.gif" alt="Add >>" width="64" > height="21" onClick="addToAlias()"></td> > </tr> > <tr> > <td height="24" > valign="top"><textarea name="INPUT_ALIAS_ITEM_LIST" rows="10" > id="INPUT_ALIAS_ITEM_LIST" style="width:100%" title="paste or type data here" > onBlur="Trim(this);testContent(this.value)" onFocus="resetFormatStyle()"> > </textarea></td> > </tr> > > <tr> > <td height="24" > valign="top"> </td> > </tr> > <tr> > <td valign="top" > bgcolor="#D6D6D6"><img src="images/spacer.gif" width="1" height="1"></td> > </tr> > > > </table> > <table width="100%" border="0" > cellspacing="0" cellpadding="0"> > <tr> > > <td height="24">Existing Alias > Groups</td> > <td width="70"> </td> > </tr> > <tr> > <td><select name="aliases" > id="SELECT_EXISTING_ALIAS_ITEM"></select></td> > <td width="70" align="right"><img > src="images/btnAddgroup.gif" alt="Add >>" width="64" height="21" > onClick="addToAlias(true)"></td> > </tr> > <tr> > > <td> </td> > <td> </td> > </tr> > </table></td> > </tr> > > > > </table> > <table width="100%" border="0" > cellspacing="6" cellpadding="0"> > > > <tr bgcolor="#D6D6D6"> > <td width="120" colspan="2" > bgcolor="#D6D6D6"><img src="images/spacer.gif" width="1" height="1"></td> > > </tr> > </table> > <table width="100%" border="0" > cellspacing="6" cellpadding="0"> > > <tr> > <td> </td> > <td width="55%"> </td> > </tr> > <tr> > <td colspan="2" > align="center"><input type="image" name="submit" src="images/savexbtn.gif" > onclick="SelectAll(selectedAliases);" title="Save" > alt="Save"> <a href="/devicemgr/RePreShowAliasList.do"><img > src="images/cancelbtn.gif" width="103" height="21" border="0"></a></td> > > </tr> > </table></td> > <td class="tdr"><img src="images/spacer.gif" > width="1" height="1"><img src="images/spacer.gif" width="1" height="1"><img > src="images/spacer.gif" width="8" height="8"></td> > </tr> > <tr> > <td class="tbluformbl"><img > src="images/spacer.gif" width="13" height="13"></td> > <td class="tdb"><img src="images/spacer.gif" > width="13" height="13"></td> > <td class="tbluformbr"><img > src="images/spacer.gif" width="13" height="13"></td> > </tr> > > </table></td> > </tr> > </table> > </form></td> > </tr> > </table></td> > </tr> > </table> > </div> > > </body> > </html> > > > ------------------------------------------------------------------------ > > _______________________________________________ > Wtr-general mailing list > Wtr-general@rubyforge.org > http://rubyforge.org/mailman/listinfo/wtr-general _______________________________________________ Wtr-general mailing list Wtr-general@rubyforge.org http://rubyforge.org/mailman/listinfo/wtr-general