2012-10-11 57 views
0

我想通過javascript函數傳遞字符串和整數參數,但整數作爲字符串傳遞。函數中的傳遞參數

變量attachfile是一個字符串。

var upload_number = 1; 

input.setAttribute("onClick", "removeBtn(attachfile+ upload_number)"); 
+0

用戶parseInt javascript函數http:// www。w3schools.com/jsref/jsref_parseint.asp – AurA

+0

remove.setAttribute(「onClick」,removeBtn('parseInt(upload_number)')');它也沒有做什麼,我在這段代碼中做錯了什麼? –

+0

評論中的代碼與引號不匹配,所以根本無法使用。它也在'parseInt(...)'周圍有引號,這意味着它傳遞一個字符串,其中包含實際的字母p,a,r等,它不會調用'parseInt()'函數。如果只想傳遞數字作爲唯一不需要'parseInt()'的參數,只需說'remove.setAttribute(「onClick」,「removeBtn(upload_number)」);'。 – nnnnnn

回答

0

如果您爲removeBtn()函數顯示聲明,這將有所幫助,但問題似乎是您沒有將兩個參數傳遞給該函數,您傳遞一個參數,其值爲attachfileupload_number連接在一起 - 並且當您使用數字連接字符串時,結果爲字符串。

您需要單獨傳遞的參數,即代替:

removeBtn(attachfile+ upload_number) 

用途:

removeBtn(attachfile, upload_number) 

隨後的removeBtn()聲明應該是:

function removeBtn(theFile, theNumber) { // name the parameters however you like 

(通過方式,你將onclick屬性設置爲一個字符串的方式ntains函數調用也可能會導致您一些問題,因爲(除其他問題)功能和參數將需要全局。但是,這可能不在此問題的範圍之內,至少除非您更新它以顯示更多的代碼。)

+0

sry的驗證,對我想要傳遞一個參數字符串連接整數 –

+0

對不起,我不明白你想要做什麼。如果_want_連接一個整數的字符串作爲單個參數傳遞,那麼顯然該參數不會以整數形式結束,那麼問題是什麼?也許你應該顯示你的'removeBtn()'函數,以便我們可以看到它如何嘗試使用參數... – nnnnnn

0

你可以使用jQuery將其轉換成一個號碼,也可以使用parseInt(your_variable,10)

10這裏是一個基數

編輯

我的意思是jQuery來驗證其是否一號碼

+0

你不需要第三方庫像jQuery做parseInt函數 – AurA

+0

我這麼說,在我的答案?請再讀一遍 –

+0

如何使用jQuery將字符串轉換爲數字? (和你爲什麼會?) – nnnnnn

0

Javascript有parseInt()函數。 parseInt()函數解析一個字符串並返回一個整數。

radix參數用於指定要使用的數字系統,例如,16(十六進制)的基數表示字符串中的數字應該從十六進制數字解析爲十進制數字。

如果省略radix參數,JavaScript的假定:

  • 如果字符串以 「0x」 開始,基數是16(十六進制)如果
  • 字符串用 「0」 開始,基數是8(八進制)。此功能是
  • 棄用如果字符串與任何其它值開始,基數是10 (十進制)

語法:

parseInt(string, radix) 

(從here被盜)