Viewing file: HTMLFormElement.py (3.25 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# # File Name: HTMLFormElement.py # # """ WWW: http://4suite.com/4DOM e-mail: support@4suite.com
Copyright (c) 2000 Fourthought Inc, USA. All Rights Reserved. See http://4suite.com/COPYRIGHT for license and copyright information """
import string from xml.dom import ext from xml.dom import implementation from xml.dom.html.HTMLElement import HTMLElement from xml.dom.html.HTMLCollection import HTMLCollection
FORM_CHILDREN = ['INPUT', 'SELECT', 'OPTGROUP', 'OPTION', 'TEXTAREA', 'LABEL', 'BUTTON', 'FIELDSET', 'LEGEND', 'OBJECT', 'ISINDEX' ]
class HTMLFormElement(HTMLElement):
def __init__(self, ownerDocument, nodeName='FORM'): HTMLElement.__init__(self, ownerDocument, nodeName)
### Attribute Methods ###
def _get_acceptCharset(self): return self.getAttribute('ACCEPT-CHARSET')
def _set_acceptCharset(self,acceptcharset): self.setAttribute('ACCEPT-CHARSET',acceptcharset)
def _get_action(self): return self.getAttribute('ACTION')
def _set_action(self,action): self.setAttribute('ACTION',action)
def _get_elements(self): #Make a collection of control elements nl = self.getElementsByTagName('*') l = [] for child in nl: if child.tagName in FORM_CHILDREN: l.append(child) return implementation._4dom_createHTMLCollection(l)
def _get_encType(self): return self.getAttribute('ENCTYPE')
def _set_encType(self,enctype): self.setAttribute('ENCTYPE',enctype)
def _get_length(self): return self._get_elements().length
def _get_method(self): return string.capitalize(self.getAttribute('METHOD'))
def _set_method(self,method): self.setAttribute('METHOD',method)
def _get_name(self): return self.getAttribute('NAME')
def _set_name(self,name): self.setAttribute('NAME',name)
def _get_target(self): return self.getAttribute('TARGET')
def _set_target(self,target): self.setAttribute('TARGET',target)
### Methods ###
def reset(self): pass
def submit(self): pass
### Attribute Access Mappings ###
_readComputedAttrs = HTMLElement._readComputedAttrs.copy() _readComputedAttrs.update ({ 'acceptCharset' : _get_acceptCharset, 'action' : _get_action, 'elements' : _get_elements, 'encType' : _get_encType, 'length' : _get_length, 'method' : _get_method, 'name' : _get_name, 'target' : _get_target })
_writeComputedAttrs = HTMLElement._writeComputedAttrs.copy() _writeComputedAttrs.update ({ 'acceptCharset' : _set_acceptCharset, 'action' : _set_action, 'encType' : _set_encType, 'method' : _set_method, 'name' : _set_name, 'target' : _set_target })
_readOnlyAttrs = filter(lambda k,m=_writeComputedAttrs: not m.has_key(k), HTMLElement._readOnlyAttrs + _readComputedAttrs.keys())
|