当サイトはユーザー体験を改善するためのメンテナンスを実施中に機能が制限される予定です。記事を読んでもあなたの問題が解決せず質問をしたい場合は、Twitter の @FirefoxSupport、Reddit の /r/firefox で、サポートコミュニティが皆さんを助けようと待機しています。

Mozilla サポートの検索

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

詳しく学ぶ

このスレッドはアーカイブに保管されました。 必要であれば新たに質問してください。

DOM corrupted after innerHTML (using <input id='id' …)

  • 7 件の返信
  • 3 人がこの問題に困っています
  • 1 回表示
  • 最後の返信者: cor-el

more options

I'm on a success function (in javascript) after an ajax call.

1 myFunctionOnSucces(transport){
2 var sDoc = transport.responseText;
3 var oDummy = document.createElement('div');
4 oDummy.innerHTML = sDoc;
5 var here = 'breakpoint';
6 }

Debugging on line 5 I have this on javascript: sDoc: "<form name='form_edit' method='post' action='my-web'> <input type='hidden' name='id' value=> </form> " oDummy: type div.

When looking on his FirstChild property I have: form#[object HTMLInputElement] my-web

If I remove the hidden input on the response text from server, the object FirstChild of oDummy is: form my-web

So in case I have some input with id='id' then the DOM elements added by oDummy corrupt the form element (it puts [object HTMLInputElement] as the form id atribute).

Is there any restriction on the id's attribute value I can use?

It happens on firefox 26 (not in 17). It happens both, linux and windows client.

Thanks a lot.

Jordi

I'm on a success function (in javascript) after an ajax call. 1 myFunctionOnSucces(transport){<br /> 2 var sDoc = transport.responseText;<br /> 3 var oDummy = document.createElement('div');<br /> 4 oDummy.innerHTML = sDoc;<br /> 5 var here = 'breakpoint';<br /> 6 } Debugging on line 5 I have this on javascript: sDoc: "&lt;form name='form_edit' method='post' action='my-web'&gt; &lt;input type='hidden' name='id' value=''&gt; &lt;/form&gt; " oDummy: type div. When looking on his FirstChild property I have: form#[object HTMLInputElement] my-web If I remove the hidden input on the response text from server, the object FirstChild of oDummy is: form my-web So in case I have some input with id='id' then the DOM elements added by oDummy corrupt the form element (it puts [object HTMLInputElement] as the form id atribute). Is there any restriction on the id's attribute value I can use? It happens on firefox 26 (not in 17). It happens both, linux and windows client. Thanks a lot. Jordi

この投稿は cor-el により に変更されました

すべての返信 (7)

more options

Hi Jordi, as you can see, the forum software doesn't handle code excerpts very well...

Is there any restriction on the id's attribute value I can use?

form_edit is a valid character string for an ID attribute, according to the traditional rules. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#id

If you want to post code or a list of strings for consideration, and you don't have a demo page online, you may want to use one of these sites:

more options

Thanks jscher2000 for your tip and for your answer.

The problem I have is not related to form id value (form_edit) but with input name value (id).

Is "id" an allowed value for atribute name (or id atribute)?

I have DOM correupted just when I use "id" as a value for name atribute. And I have a lot of code using it (and working until few weeks ago) :-(

more options

Oh, I thought id="id" was just a placeholder for the actual string...

A few versions ago, there was a major change under the covers in how element properties are handled. This could explain why using a global attribute name like id as a value for some other attribute has become a problem in your application.

more options

Thanks a lot jscher2000.

I read the standard and I can't see any restriction about use "id" as a value for atribute name.

So, may be this is a bug for firefox on later versions?

more options

If you feel motivated, you could file a bug for this here: https://bugzilla.mozilla.org/

more options

Thanks a lot!

I'm goning to do it.

more options

Note that you need to test this in a clean profile without using any extensions and possibly only use the built-in web developer tools.

See "Creating a profile":

You may also check this out in a Beta and Aurora nightly build to see if this still happens.