0

我一直在尝试更新一个字段。买入价和卖出价是我要更新的字段。选择是 gbp/usd、eur/usd 等。我想用已经预定义的 、 、 等$bid变量$bid1定义文本字段。bid2有人可以帮我弄这个吗?

这是我的代码。

<?php
$timestamp=time();set_time_limit (0);

?>

<!DOCTYPE html>
<head></head>
<body>
<meta charset="UTF-8">

<form action ="price.php" method="post">


<p>Symbol : <select name="currency_pair">
<option value="gbp/usd">GBP/USD</option>
<option value="eur/usd">EUR/USD</option>
<option value="usd/cad">USD/CAD</option>
<option value="usd/chf">USD/CHF</option>
<option value="usd/jpy">USD/JPY</option>
<option value="eur/chf">EUR/CHF</option>
<option value="eur/jpy">EUR/JPY</option>
<option value="aud/usd">AUD/USD</option>

</select></p>
<p> Date : <input type="datetime" value="<?php echo date("Y-m-d ",$timestamp); ?>" name="date"/>    </p>
<p> Type : <input type="radio" name="type" value="buy">Buy 
<input type="radio" name="type" value="sell">Sell
<p> Size : <input type="number"pattern="[0-9]+([\.|,][0-9]+)?" step="0.01"name="size"/></p>
<p> Bid Price : <input type="number" step="any" readonly name="entry" value="<?php if  ($currency_pair=="gbp/usd"){echo bid;}elseif($currency_pair=="eur/usd"){echo bid2;};?>" >
Offer Price<input type="number" step="any" readonly="yes" name="entry" value="<?php if ($currency_pair=="gbp/usd"){echo bid;}elseif($currency_pair=="eur/usd"){echo bid2;};?>" ></p>
<p> Stop Loss : <input type="number"step="any" name="stoploss"/></p>
<p> Take Profit : <input type="number"step="any"name="takeprofit"/></p>

<input type="submit" value="Submit"/>
</form>
<script>
</script>   </body> </html>
4

4 回答 4

0

这是代码的 PHP 预处理版本,仅包含 HTML 和 JS:

<!DOCTYPE html>
<head></head>
<body>
<meta charset="UTF-8">

<form action ="price.php" method="post"/>
<form>
<p>Symbol : <select name="currency_pair" id="select_pair" onchange="pair_selected()">
<option value="gbp/usd">GBP/USD</option>
<option value="eur/usd">EUR/USD</option>
<option value="usd/cad">USD/CAD</option>
</select></p>
<script>
var courses = {};
courses['gbp/usd'] = [ 10, 15 ];
courses['eur/usd'] = [ 14, 16 ];
courses['usd/cad'] = [ 21, 23 ];
function pair_selected() { // to change your edits
    var e = document.getElementById("select_pair");
    var pair = e.options[e.selectedIndex].value;
    var course = courses[pair];
    document.getElementById("bid").value = course[0];
    document.getElementById("offer").value = course[1];
}
window.onload = function() { pair_selected(); } // to init your edits
</script>

<p> Date : <input type="datetime" value="1970-01-01 " name="date"/> </p>
<p> Type : <input type="radio" name="type" value="buy">Buy 
<input type="radio" name="type" value="sell">Sell
<p> Size : <input type="number"pattern="[0-9]+([\.|,][0-9]+)?" step="0.01"name="size"/></p>
**<p> Bid Price : <input id="bid" type="number" step="any" readonly name="entry" value="" >
   Offer Price<input id="offer" type="number" step="any" readonly="yes" name="entry" value="" ></p>**
<p> Stop Loss : <input type="number"step="any" name="stoploss"/></p>
<p> Take Profit : <input type="number"step="any"name="takeprofit"/></p>
<input type="submit" value="Submit"/>
</form>

</body>
</html>

在 IE 8-10、Firefox、Chrome、Opera 15 和 Safari 中测试并运行

于 2013-07-30T10:43:22.980 回答
0

首先,你需要一个框架。最常用的框架是jQuery

其次,我会在这里查找有关如何获取所选文本的代码:jQuery Get Selected Option From Dropdown

最后,您应该将相关代码绑定到相应的事件。这jQuery就是change()事件。

例子

$('#currency_pair').change(function() {
    // Note: 'currency_pair' should be an ID, not a name.
    $('#textBox').text($('#currency_pair').val());
});

这应该放在一个单独的文件中,并且应该通过script标签链接到您的 HTML,您可以在此处找到教程:http: //www.w3schools.com/tags/att_script_src.asp

于 2013-07-29T07:36:24.133 回答
0
  1. 您应该使用一个 PHP数组,而不是单独的变量 $bid, $bid2, ...

  2. 您应该从 PHP 数组生成 Javascript 数据结构(下面代码中的数组对象,但这可能会有所不同)

  3. 您应该使用您的事件onchangeselect查找 Javascript 数据结构,找到合适的数据(供用户选择)并将其替换为您的编辑

  4. 学习和使用像jquery这样的框架而不是纯JS会更简单更好,所以推荐,但不是强制性的。下面的代码仅使用纯 JS,因为您没有在问题中提及任何框架的知识或使用。

这是代码:

<?
$timespamp = time();
$conversions = array(
    "gbp/usd" => array(10,15),
    "eur/usd" => array(14,16),
    "usd/cad" => array(21,23)
    // and so on
);
?>
<!DOCTYPE html>
<head></head>
<body>
<meta charset="UTF-8">

<form action ="price.php" method="post"/>
<form>
<p>Symbol : <select name="currency_pair" id="select_pair" onchange="pair_selected()">
<? foreach( $conversions as $pair=>$course ) { ?>
<option value="<?=$pair?>"><?=strtoupper($pair)?></option>
<? } ?>
</select></p>
<script>
var courses = {};
<? foreach( $conversions as $pair=>$course ) { ?>
courses['<?=$pair?>'] = [ <?=$course[0]?>, <?=$course[1]?> ];
<? } ?>
function pair_selected() { // to change your edits
    var e = document.getElementById("select_pair");
    var pair = e.options[e.selectedIndex].value;
    var course = courses[pair];
    document.getElementById("bid").value = course[0];
    document.getElementById("offer").value = course[1];
}
window.onload = function() { pair_selected(); } // to init your edits
</script>

<p> Date : <input type="datetime" value="<?php echo date("Y-m-d ",$timestamp); ?>" name="date"/> </p>
<p> Type : <input type="radio" name="type" value="buy">Buy 
<input type="radio" name="type" value="sell">Sell
<p> Size : <input type="number"pattern="[0-9]+([\.|,][0-9]+)?" step="0.01"name="size"/></p>
**<p> Bid Price : <input id="bid" type="number" step="any" readonly name="entry" value="" >
   Offer Price<input id="offer" type="number" step="any" readonly="yes" name="entry" value="" ></p>**
<p> Stop Loss : <input type="number"step="any" name="stoploss"/></p>
<p> Take Profit : <input type="number"step="any"name="takeprofit"/></p>
<input type="submit" value="Submit"/>
</form>

</body>
</html>
于 2013-07-29T08:38:10.983 回答
0

在这里回答:

更改文本框 onchange 下拉列表的输入类
播放代码以检查适合您的内容。

于 2013-07-29T07:37:19.230 回答