2010-01-29 64 views
0

我誠實地嘗試了谷歌在這個錯誤上的幾個不同的途徑,但我打我的頭靠在一堵磚牆上。Microsoft JScript運行時錯誤:對象預計

我的jQuery的這一位在我後面的代碼:

tbxProdAC.Attributes.Add("onclick", "$('radProdAC.ClientID').attr('checked', true); $('ddlBuyer.ClientID').val('--Choose Buyer--'); $('ddlSub.ClientID').val('--Choose Sub Category--'); $('ddlProd.ClientID').val('--Choose Product--');"); 

但是,每當我點擊文本框,調試接通,我收到了以下行上述錯誤:

<input name="ctl00$ContentPlaceHolder1$tbxProdAC" type="text" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ContentPlaceHolder1$tbxProdAC\',\'\')', 0)" onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) return false;" id="ctl00_ContentPlaceHolder1_tbxProdAC" class="completionList2" onclick="$('radProdAC.ClientID').attr('checked', true); $('ddlBuyer.ClientID').val('--Choose Buyer--'); $('ddlSub.ClientID').val('--Choose Sub Category--'); $('ddlProd.ClientID').val('--Choose Product--');" style="z-index: 1; left: 200px; top: 475px; position: absolute; height: 20px; width: 345px;" /> 

現在ctl00 $ ContentPlaceHolder1 $ tbxProdAC並不存在。這是內容佔位符中的內容頁面上的控件。

如何去確保jQuery的與正確的ID和解或者我如何確保內容佔位不修改原有的控制ID?

大受接待,因爲我要瘋了嘗試不同的事物任何幫助!

回答

0

在你不需要的JavaScript位,你可以調用該函數的onchange事件處理程序直接只需做,這是你通過一個href調用函數。您也無法按照超時時間的方式傳遞參數。

可能是值得調用該函數,而不是您撥打的情況下超時。

無論哪種方式,您可以撥打anomously在超時的功能,例如;

setTimeout(function(){youfunction here with parameters}, 0); 

此外,我會將發生在其他事件中的所有事情都點擊進他們自己的函數中。如果你把所有這些東西都轉換成一個外部的js文件,你將能夠更清楚地瞭解正在發生的事情。如果你還沒有使用螢火蟲進行調試。如果你需要從頁面獲得生成的變量,那麼只需要頁面中的變量,並從js中調用它們。

在jquery中可能過於具體,遍歷dom找到的東西而不是明確地引用它,不僅使代碼更容易,而且使它更通用,因此更加可重用。

+0

Hello Mat - 我想我可能只是做所有的服務器端,即在你建議的onchange事件處理程序!至少我半知道我在那裏做什麼! – 2010-01-29 14:06:46

0
tbxProdAC.Attributes.Add( 
    "onclick", 
    "$('" + radProdAC.ClientID + "').attr('checked', true); $('" + ddlBuyer.ClientID + "').val('--Choose Buyer--'); $('" + ddlSub.ClientID + "').val('--Choose Sub Category--'); $('" + ddlProd.ClientID + "').val('--Choose Product--');" 
); 

您需要獲取客戶端ID,該ID必須在引號外完成。它無處不在鍵入

"$('radProdAC.ClientID').attr('checked', true);需要更改爲"$('" + radProdAC.ClientID + "').attr('checked', true);

+0

你好尼克 - 我曾嘗試使用你建議的語法,但錯誤依然存在。最令人沮喪的。 – 2010-01-29 13:46:13

+0

做出這一改變後,你能向我們展示呈現給瀏覽器的HTML嗎?這可能會進一步解決問題。 – 2010-01-29 18:18:31

相關問題