2015-01-02 141 views
1

我試過一切可能,沒有什麼似乎工作。我正在使用Bootstrap Data Table生成我的表格。我希望能夠檢查一個框點擊刪除按鈕,並使用Ajax將數據發送到php。從javascript中刪除雙引號

除了刪除用戶之外,一切都可以工作,因爲當它傳遞給php文件時,它會向url中的數據字符串添加雙引號。

這裏是JS代碼:

.on('check.bs.table', function (e, row) { 
      $result.text('Are you sure you want to delete ' + JSON.stringify(row.username) + '?'); 
      var ids = document.getElementById("user-id").value = JSON.stringify(row.id); 
      ids = ids.replace (/\"/g, ""); 
     }) 

不管我做什麼,它總是包括對IDS var雙引號。

有人能給我一些建議嗎?

+3

請檢查'var'線,它有兩個'='s,然後考慮該'var'和下一行的執行順序... – Teemu

+2

我對引導數據表不熟悉,但如果您可以在URL中看到「ids」的值,它必須來自'#user-id.value',因爲'ids'是事件處理程序的局部變量。 JS通過值傳遞所有內容,並且'#user-id'的值不會奇蹟般地改變,如果你在'id user_id'之後改變'id'的值。 – Teemu

+2

你爲什麼要調用'JSON.stringify(row.id)'?這就在你的字符串附加引號 –

回答

2

感謝您的評論!

經過多一點研究後,我能夠解決我的問題。問題是 - 我使用的是JSON.stringify,它將我的ID變成一個字符串,因此在其周圍添加了""。爲了防止這種情況發生,我只是刪除JSON.stringify

這是我改變了: document.getElementById("user-id").value = row.id;

所以最終代碼如下所示:

.on('check.bs.table', function (e, row) { 
     $result.text('Are you sure you want to delete ' + JSON.stringify(row.username) + '?'); 
     document.getElementById("user-id").value = row.id; 
    }) 
+1

這是一個更好的解決方案,正如我在評論中所建議的那樣。但本着理解錯誤的精神......你期望'ids = ids.replace(/ \「/ g,」「);'更新你在上面的行中設置的DOM值。如果您在設置表單值之前完成了替換操作。 –