2012-04-23 78 views
0

下拉菜單中選擇「銷售」去sales.php,其他選項選擇去addFund.php ...如何選擇選項,提交不同的PHP頁面

<form name='searform' method='post' action='<?php echo $home;?>addFund.php'> 
Search : <input type='text' id='sear' name='sear'> by 
<select id='psel' name='psel' onchange='change()'> 
<option value='email'>Email</option> 
<option value='name'>Username</option> 
<option value='domain'>Domain name</option> 
<option value='sales'>Sales</option> 
</select> 
<input type='submit' name='sub' id='sub' value='Go' onclick='gopage()'> 
<input type='submit' name='dir' id='dir' value='Direct'> 
</form> 

如何提交不同的頁面

回答

1

你可以使用JavaScript這樣做:

function change(el) { 
    if(el.value === 'sales') { 
    el.form.action = 'sales.php'; 
    } else { 
    el.form.action = 'addFund.php'; 
    } 
} 

更改平變化到onchange="change(this)"。更好的方法是檢查服務器端的變量幷包含正確的文件。

+1

你可以使用'el.form'而不必'getElementById()'它... – DaveRandom 2012-04-23 10:44:53

+0

謝謝@DaveRandom ! – binarious 2012-04-23 10:47:06

+0

如何調用這個change()函數? 「去」按鈕onclick事件或onsubmit()? – Vaishu 2012-04-23 10:48:21

2

您可以使用一些Javascript nastiness通過change()函數實現此目的,但通常的做法是將所有請求通過控制器發送,並將include()發送到適當的頁面。例如,將您的形式action.php,並在該文件中,這樣做:

action.php的

<?php 

    if (isset($_POST['psel']) && $_POST['psel'] == 'sales') { 
    include 'sales.php'; 
    } else { 
    include 'addFund.php'; 
    } 

...或者你可以只是把大概的代碼爲addFund.php,因爲你似乎只有另一個腳本,你想發送請求。

+0

好的。我改變這個「action.php」。謝謝.. – Vaishu 2012-04-23 10:42:11

-1

改變你的選擇是:

<select name="vote" onChange="document.forms['searForm'].submit()"> 

,讓你的表單動作去像pageChange.php它返回取決於$_POST值不同的頁面。

+0

你遺漏了代碼的重要部分 – itachi 2012-04-23 10:48:13