• ベストアンサー

下の様にjavaScriptでボタンを追加したいのですが、

下の様にjavaScriptでボタンを追加したいのですが、 onclickイベントがHTMLにかかれません。 どうすればよろしいでしょうか。 よろしくお願いします。 var ele = document.createElement('input'); ele.type = 'button'; ele.value = 'ご意見へ'; ele.name = 'fNext'; ele.onclick = "sendRequest('FE0041')"; objct[0].parentNode.appendChild(ele);

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

既に回答がされていますが… >onclickイベントがHTMLにかかれません。 ele.onclick = "sendRequest('FE0041')"; では文字列の『sendRequest('FE0041')』がonclick属性として設定されます。 append後にその要素のonclick属性を表示させてみれば、一応、設定されているようです。 ただし、文字列なのでスクリプトとしては実行されません。 function sendRequest(a) {} のような処理を実行したければ、No1様のような方法をとればよろしいかと。

tooru5565
質問者

お礼

すみませんでした。 FFでも可能でした。 本当に助かりました。 ありがとうございます。

tooru5565
質問者

補足

ありがとうございます。 ただ、FireFoxでは、できないのですが。

その他の回答 (2)

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.3

 if('undefined' !== typeof window.addEventListener)   ele.addEventListener('click',(function(parm){ return function(){sendRequest(parm)}; })('FE0041'),false);  else if ('undefined' !== typeof window.attachEvent)   ele.attachEvent('onclick',(function(parm){ return function(){sendRequest(parm)}; })('FE0041'))  function sendRequest(parm){   alert(parm);  }

  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.1

>ele.onclick = "sendRequest('FE0041')"; では文字列を設定しているだけなので、何も起きないと思います。 ele.onclick = function() { sendRequest('FE0041') }; としたらどうでしょうか?

関連するQ&A