所以向下运行......用户在文本字段中输入引号。然后,他们从下拉列表中选择一个选项,然后按“计算风险”按钮。然后,它将输出到其页面上的表格单元格。这是我的HTML:
<body onload = "sOutput(); return false;" bgcolor="#E9E9E9">
<form action="risk-assess.php" method="get">
<input type="text" id="q" name="q" size="18" value = "Enter Quote Here" onfocus="if(this.value == 'Enter Quote Here') {this.value=''}" onblur="if(this.value == '') {this.value='Enter Quote Here'}">
<table id="com-b" border = "5">
<tr>
<th bgcolor="#FFFFFF" title="Average % difference between share prices over the selected period">Ave. % Difference</th>
<th bgcolor="#FFFFFF" title="Our analysis results">Assessment</th>
</tr>
<tr>
<td id="risk" bgcolor="#FFFFFF"></td>
<td id="assess" bgcolor="#FFFFFF"></td>
</tr>
</table>
<select id="terms" name="terms">
<option value="">Select an Investment length:</option>
<option value="1">Short Term</option>
<option value="2">Medium Term</option>
<option value="3">Long Term</option>
</select>
<button id="calc" type="submit" value="Submit" style="color: white; font: bold 14px Arial; background-color:#000000; border-radius:40px" onclick="call();">Calculate Risk</button>
</form>
在选择提交并输出正确后,地址栏保持q =“QUOTE”和terms =“SELECTED VALUE”。虽然这些似乎都不起作用,但无论我是尝试使用$_REQUEST
还是通过其内容值(即“短期”),它都不起作用。或者甚至将它们从功能中发布出来,只需将PHP代码发送给自己。
function call(){
if($_POST['terms'] == '1') {
$q = trim(strtoupper($_REQUEST['q']));
// Get contents of first page
$url = ("http://au.finance.yahoo.com/q/hp?s=".$q."&g=d");
.....................................
.....................................
$term = (array_sum(win)/count)
}else if($_POST['terms'] == '2') {
etc...
我一直在使用javascript输出值到框中,以便在表格中显示之前对值进行计算等。我甚至尝试回应这些函数中的值,但没有任何反应。我现在开始相信它与下拉列表值有关。
function sOutput(){
var shortTerm;
....
var t1 = <?php echo $_POST['terms']; ?>; // attempted here
var term=document.getElementById("terms").value;
if(term=="1"){
shortTerm = <?php echo json_encode($term); ?>;
document.getElementById("risk").innerHTML = shortTerm.toFixed(3);
}
etc...
}
我已尝试使用javascript来获取地址栏目标值的$_REQUEST
或$_POST
函数,但无济于事。当我这样做时,d1,d2等值甚至不会处理或输出任何内容。
非常感谢任何帮助。它基本上只是我需要输出的单个值,并且几小时的故障排除都没有产生解决方案!谢谢你们。