2012-11-27 67 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'); 
} 
}