2011-02-24 129 views
0

我有一些代碼,當你點擊一個按鈕它填充文本框的文本,然後prepends另一個按鈕,該div。在IE瀏覽器中的jQuery問題

它適用於除IE之外的所有瀏覽器,它會給出一個javascript錯誤。

我可以很容易解釋的唯一方法是通過使用我的jsFiddle

如果您使用的是從IE除了任何瀏覽器,然後單擊Book now選擇一個日期,然後另一個按鈕就會出現Submit

這是正確的行爲,但如果你選擇一個日期使用IE瀏覽器,然後儘快有一個JavaScript錯誤Unexpected call to method or property access

任何想法?

由於

+2

您可以添加jQuery代碼? – TNC 2011-02-24 13:05:19

回答

2

問題是由這一行引起的:

$(".dupeadultcost").html($(this).parent().siblings().find(".adultcost").html()); 

由於存在與一個類dupeadultcost這在IE吹起來的文本框。如果你只是想設置的跨度,我建議你使用:

$("span.dupeadultcost").html($(this).parent().siblings().find(".adultcost").html()); 

工作的例子 - http://jsfiddle.net/d9TP8/1/

+0

非常感謝:) – 2011-02-24 13:20:57

+1

只是爲了澄清:問題是你不能直接設置文本框的innerHTML,這是沒有意義的。而其他瀏覽器只是忽略它,IE會報告它作爲它的一個神祕錯誤。 :) – 2011-02-24 13:24:29

+0

感謝您的解釋@Shadow Wizard – 2011-02-24 14:28:04

0

問題是與這兩條線

$(".dupeadultcost").html($(this).parent().siblings().find(".adultcost").html()); 

$( 「excursionSubmitButton」)。 prependTo($(本).parent())顯示()。 //顯示錶單提交按鈕

您需要更換類slectors(例如.dupeadultcost到ID選擇#txtAdultcost),它會工作