2012-11-27 96 views
4

我有2個框架的PHP文件,第一個是調用topFrame和bottom被稱爲mainFrame。在topFrame中,我有一個帶下拉值的php文件,onchange我想用另一個php文件重新加載這個框架。Javascript onchange下拉值問題

下面是我的代碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 
<head> 
<title>RATEMASTER</title> 

<script type="text/javascript"> 

function showsupli(sta) 
{ 

alert ("sta"); 
if (sta == 'Yes') 
{ 
window.open('ratesupli.php,'topFrame'); 
} 
} 

</script> 

</head> 
<body> 
<? 
echo "<form name='f1'>"; 

echo "<table width='730' border='0' align='center' cellpadding='0' cellspacing='1'>"; 
echo " <tr>"; 
echo " <td><span class='style3'>Suplimentry Invoice</span></td>"; 

echo " <td>"; 
echo "<select name='supli' onchange=\"showsupli(this.value);\"><option value=0>No</option>"; 
    echo "<option value=1>Yes</option>"; 
echo "</select>";// Closing of list box 
echo "</td>"; 
echo " </tr>"; 

echo "</table>"; 

echo "</form>"; 
?> 
</body> 
</html> 
+1

變量 'STA'永遠不會等於「是」。這是一個選項的值 - 0或1,在你的情況。根據你的情況,有一小段代碼:http://jsfiddle.net/T7USA/7/ – Sergii

回答

0

的問題是你的期權價值是10,但在你的JavaScript你看Yes

更改爲:

if (sta == '1') 

一個<select>的選定值是選定的<option>value,而不是文本。

你也有一個語法錯誤,你忘了ratesupli.php後關閉報價,使用:

window.open('ratesupli.php','topFrame'); 
+0

我已經根據你的代碼改變了,它仍然不起作用。我覺得函數showsupli()不起作用,因爲alert()沒有顯示出來。 pl幫助。 – user1114409

+0

@ user1114409看到我的編輯 - 你有一個語法錯誤 – MrCode

+0

謝謝!現在工作正常。 – user1114409

0

HTML CHANGE

<option value='0'>No</option> 
<option value='1'>Yes</option> 

的Javascript變化

function showsupli(sta) 
{ 

alert ("sta"); 
if (sta == '1') 
{ 
window.open('ratesupli.php','topFrame'); 
} 
}