搜尋 Mozilla 技術支援網站

防止技術支援詐騙。我們絕對不會要求您撥打電話或發送簡訊,或是提供個人資訊。請用「回報濫用」功能回報可疑的行為。

了解更多

FF – required input validated no matter execution runs in handler

more options

I have some background form submission implemented. Similar to

    form.onsubmit = function XY(e) { e.prevenDefault(); … }

In form there is (similar) input

    <input type="text" name="someName" required="required" class="toBeCleared"/>

Then there is (similar) JS.

    if(e.currentTarget.elements["someName"].className === "toBeCleared") {
      e.currentTarget.elements["someName"].value = '';
    }

Everything works as expected except that in FF after all work is done the field is marked with red color as not validated (since it is empty and required).

Return false, true from body of handler has no effect on this.

I have some background form submission implemented. Similar to <pre><nowiki> form.onsubmit = function XY(e) { e.prevenDefault(); … }</nowiki></pre> In form there is (similar) input <pre><nowiki> <input type="text" name="someName" required="required" class="toBeCleared"/></nowiki></pre> Then there is (similar) JS. <pre><nowiki> if(e.currentTarget.elements["someName"].className === "toBeCleared") { e.currentTarget.elements["someName"].value = ''; }</nowiki></pre> Everything works as expected except that in FF after all work is done the field is marked with red color as not validated (since it is empty and required). Return false, true from body of handler has no effect on this.

由 cor-el 於 修改

所有回覆 (2)

more options

Maybe remove the required attribute or put some dummy content in it after you have confirmed that the data is valid?

Try to ask advice at the Stack Overflow forum site.

more options

cor-el said

Maybe remove the required attribute or put …

I was just about to get info if it is known bug, feature or whatever else there can be known about it.

I can invent some workaround anyway.

由 fire-in-the-mine-hole 於 修改