本文整理汇总了C++中HTMLFormControlElement::hasTagName方法的典型用法代码示例。如果您正苦于以下问题:C++ HTMLFormControlElement::hasTagName方法的具体用法?C++ HTMLFormControlElement::hasTagName怎么用?C++ HTMLFormControlElement::hasTagName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HTMLFormControlElement
的用法示例。
在下文中一共展示了HTMLFormControlElement::hasTagName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: findPasswordFormFields
void findPasswordFormFields(HTMLFormElement* form, PasswordFormFields* fields)
{
ASSERT(form);
ASSERT(fields);
HTMLInputElement* latestInputElement = 0;
const Vector<FormAssociatedElement*>& formElements = form->associatedElements();
for (size_t i = 0; i < formElements.size(); i++) {
if (!formElements[i]->isFormControlElement())
continue;
HTMLFormControlElement* control = toHTMLFormControlElement(formElements[i]);
if (control->isActivatedSubmit())
fields->submit = control;
if (!control->hasTagName(HTMLNames::inputTag))
continue;
HTMLInputElement* inputElement = toHTMLInputElement(control);
if (inputElement->isDisabledFormControl())
continue;
if ((fields->passwords.size() < maxPasswords)
&& inputElement->isPasswordField()) {
// We assume that the username is the input element before the
// first password element.
if (fields->passwords.isEmpty() && latestInputElement) {
fields->userName = latestInputElement;
// Remove the selected username from alternateUserNames.
if (!fields->alternateUserNames.isEmpty() && !latestInputElement->value().isEmpty())
fields->alternateUserNames.removeLast();
}
fields->passwords.append(inputElement);
}
// Various input types such as text, url, email can be a username field.
if (inputElement->isTextField() && !inputElement->isPasswordField()) {
latestInputElement = inputElement;
// We ignore elements that have no value. Unlike userName, alternateUserNames
// is used only for autofill, not for form identification, and blank autofill
// entries are not useful.
if (!inputElement->value().isEmpty())
fields->alternateUserNames.append(inputElement->value());
}
}
}