1 27 package org.htmlparser.tags; 28 29 import org.htmlparser.util.NodeList; 30 import org.htmlparser.util.SimpleNodeIterator; 31 32 36 public class FormTag extends CompositeTag 37 { 38 public static final String POST="POST"; 39 public static final String GET="GET"; 40 41 44 protected String mFormLocation; 45 46 49 private static final String [] mIds = new String [] {"FORM"}; 50 51 54 private static final String [] mEndTagEnders = new String [] {"HTML", "BODY", "TABLE"}; 55 56 59 public FormTag () 60 { 61 mFormLocation = null; 62 } 63 64 68 public String [] getIds () 69 { 70 return (mIds); 71 } 72 73 77 public String [] getEnders () 78 { 79 return (mIds); 80 } 81 82 86 public String [] getEndTagEnders () 87 { 88 return (mEndTagEnders); 89 } 90 91 95 public NodeList getFormInputs() 96 { 97 return (searchFor (InputTag.class, true)); 98 } 99 100 104 public NodeList getFormTextareas() 105 { 106 return (searchFor (TextareaTag.class, true)); 107 } 108 109 113 public String getFormLocation() 114 { 115 if (null == mFormLocation) 116 mFormLocation = extractFormLocn (); 118 119 return (mFormLocation); 120 } 121 122 127 public void setFormLocation(String url) 128 { 129 mFormLocation = url; 130 setAttribute ("ACTION", url); 131 } 132 133 137 public String getFormMethod() 138 { 139 String ret; 140 141 ret = getAttribute("METHOD"); 142 if (null == ret) 143 ret = GET; 144 145 return (ret); 146 } 147 148 153 public InputTag getInputTag (String name) 154 { 155 InputTag inputTag; 156 boolean found; 157 String inputTagName; 158 159 inputTag = null; 160 found = false; 161 for (SimpleNodeIterator e = getFormInputs().elements();e.hasMoreNodes() && !found;) 162 { 163 inputTag = (InputTag)e.nextNode(); 164 inputTagName = inputTag.getAttribute("NAME"); 165 if (inputTagName!=null && inputTagName.equalsIgnoreCase(name)) 166 found=true; 167 } 168 if (found) 169 return (inputTag); 170 else 171 return (null); 172 } 173 174 178 public String getFormName() 179 { 180 return (getAttribute("NAME")); 181 } 182 183 187 public TextareaTag getTextAreaTag(String name) 188 { 189 TextareaTag textareaTag=null; 190 boolean found = false; 191 for (SimpleNodeIterator e=getFormTextareas ().elements();e.hasMoreNodes() && !found;) 192 { 193 textareaTag = (TextareaTag)e.nextNode(); 194 String textAreaName = textareaTag.getAttribute("NAME"); 195 if (textAreaName!=null && textAreaName.equals(name)) 196 found = true; 197 } 198 if (found) 199 return (textareaTag); 200 else 201 return (null); 202 } 203 204 207 public String toString() 208 { 209 return "FORM TAG : Form at "+getFormLocation()+"; begins at : "+getStartPosition ()+"; ends at : "+getEndPosition (); 210 } 211 212 216 public String extractFormLocn () 217 { 218 String ret; 219 220 ret = getAttribute("ACTION"); 221 if (null == ret) 222 ret = ""; 223 else if (null != getPage ()) 224 ret = getPage ().getAbsoluteURL (ret); 225 226 return (ret); 227 } 228 } 229 | Popular Tags |