2014-07-25 54 views
-1

我在JavaScript中的窗口位置的單引號和雙引號出現問題。我在我的數據庫test's data有這樣的數據,我用這個窗口的位置是這樣的:窗口位置不起作用javascript

function test(name){ 
    window.location.href = "http://localhost/test/tests.php?name="+ name; 
} 

這是我的PHP代碼:

$name = "test's data"; 
    echo ' 
     <button onclick="return test(\''. $name .'\')" class="btn btn-danger">TEST</button> 
     '; 

,如果你在開發工具檢查它,它會像:

<button onclick="return test('test's data')" class="btn btn-danger">TEST</button> 

我知道我的錯誤是test('test's data')中的引用。我如何修復我的功能引用,因此它會將您重定向到另一個頁面test.php?

+0

不使用按鈕! '回聲'TEST';'。 – Ryan

+3

將'window.location.href =「http://localhost/test/tests.php?name =」+ name;'更改爲'window.location.href =「http://localhost/test/tests.php? name =「+ encodeURIComponent(name);' –

+0

或者您也可以使用document.location替代window.location.href。 –

回答

2

更改$名稱

$name = "test\'s data"; 

逃脫撇號。或者更好的是,使用

$name = addslashes("test's data"); 

要轉義所有特殊字符。

+0

感謝您的所有答案。這是一個工作@邁克爾。 – PandaUser

0

請參閱以下內容:

document.location.replace(...);