2012-09-20 116 views
1

我有一個具有一個按鈕,在按下時,鏈接到在PHP設置一個URL的列PHP數組。我想在該按鈕旁邊添加一個複選框,以便在用戶按下按鈕時檢查它,它會將它們帶到另一個URL。設置網址的PHP代碼:更改當用戶檢查複選框

<?php 
    $link = 'http://www.example.com'; 
?> 

我意識到代碼需要在JavaScript中,我不知道。我只知道一點點的php,所以任何幫助都會被apprciated。

澄清:(當然我知道這個代碼將永遠不會工作)

我想要做的是這樣的:

<?php 

    If (checkbox is checked) { 
     $link = 'http://www.google.com'; 
    } else { 
     $link = 'http://www.example.com'; 
    } 
?> 
+1

使用JavaScript/jQuery的完成這個任務。 – Tool

+0

我建議不要那樣做,但提交表單並處理服務器上的複選框。 –

回答

0

包括jQuery的從谷歌:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script> 

然後編寫點擊按鈕後調用的重定向功能;

<script> 
function foo() { 
    if ($('#checkbox').is(':checked')) { 
     //redirect to google.com 
     window.location = "http://www.google.com/"; 
    } else { 
     window.location = "http://www.example.com/" 
    } 
} 
</script> 

而且finaly您的按鈕應該是這樣的:

<button onclick="foo();" >Your button</button> 

此代碼假定您的複選框有一個id 「複選框」。

另外,我不認爲你正在試圖做的應該用PHP做什麼 - 所以你應該學習JavaScript/jQuery的直線距離,而不需要編寫代碼的方式不應該寫。

0

有可能是另一種方法做你想要達到的目標。複選框的值應該被髮送到服務器上的一個單獨的php腳本中,並與表單的其他字段的值一起發送。然後你可以在php中使用複選框的值(boolean),並做相應的操作,可能需要外部腳本。

0

複選框值不會被髮送到服務器的形式,如果沒有選中提交。 所以,你可以使用這樣的事情:

<?php 
    if (isset($_POST['checkbox_name'])) { 
     $link = 'http://www.google.com'; 
    }else{ 
     $link = 'http://www.example.com'; 
    } 
?> 
0

例子:http://jsfiddle.net/5bdae/

使用jQuery這是相當簡單的。你將一個函數綁定到鏈接上,這個函數檢查複選框是否被選中,如果是鏈接到一個地方,否則鏈接到另一個地方。

對於HTML的結構是這樣的:

<input id='myCheckbox' type="checkbox" name="box" value="box" /> 
<a href='#' id='myLink'>My Link</a> 

jQuery的是:

$('#myLink').click(function(event){ 
    event.preventDefault(); 
    if ($('#myCheckbox').is(':checked')){ 
     window.location.href='http://www.example.com'; 
    } else { 
     window.location.href='http://www.ask.com'; 
    } 
}); 

這可能會去的PHP標籤之外,你將需要include jQuery在你的代碼。

相關問題