2013-07-29 2 views
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> 
+0

먼저 오류를 수정할 수 있습니까? 예를 들어,'

'당신이 생각하는대로하지 않을 수도 있습니다. 또한 양식 외부의 제출 버튼이 작동하지 않습니다.그리고 당신은 더 많은 오류를 가지고 있지만 그것들은 문제가되지 않습니다. –

+0

일단 PHP 페이지가로드되면 PHP 코드 구문 분석은 새로 고쳐 지거나 다시 호출 될 때까지 발생하지 않습니다. 따라서 U는 텍스트 필드 내용을 업데이트 할 수 있도록 ajax 호출을해야합니다. – Mayur

+0

그래, 나는 그것을 이해하고 나는 다른 페이지에서 그렇게 해왔다. 나는 어떻게 2 텍스트 필드에 변수 값을 표시하도록 허용 할 수 있는지 알아 내려고하고있다. 내 변수는 $ bid, $ bid1, $ bid2, $ bid3 등입니다. 내가 어떻게 2 개의 텍스트 상자에 표시 할 수 있도록 각 옵션에 두 개의 선택된 변수를 할당합니까 ?? –

답변

0

에만 HTML과 JS 포함하는 코드의 PHP-전처리 버전 :

<!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

+0

WOW Thanks !!! 나는 이미 그것을 할 수 있었지만, 내가 그들을 어떻게 상쾌하게 만들 수 있는지 (텍스트 필드) 아는가? 라이브 데이터이기 때문입니다. –

+0

'라이브'데이터를 만드는 것은 그렇게 간단하지 않습니다. 서버 스크립트에서 주기적으로 새 데이터를 검색하려면 [AJAX-call] (http://en.wikipedia.org/wiki/Ajax_ (프로그래밍))을 실행하거나 [서버 푸시 기술] (http : /en.wikipedia.org/wiki/Push_technology) –

0

먼저 프레임 워크를 가져와야합니다. 가장 일반적으로 사용되는 프레임 워크는 jQuery입니다. jQuery Get Selected Option From Dropdown

마지막으로, 해당 이벤트에 relvant 코드를 결합해야합니다

둘째, 내가 선택한 텍스트를하는 방법에 대한 코드 여기를 보일 것이다. 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

0
  1. 당신은 당신은 아래의 코드에서 배열의 자바 스크립트 데이터 구조 (객체를 생성해야 하나 PHP 배열이 아닌 별도의 변수 $ 입찰, $ bid2, ...

  2. 를 사용한다, 그러나 이것은 수 당신의 PHP 배열에서) 변화

  3. 당신의 이벤트 onchange를 사용해야합니다 당신의 select가 사용자의 선택에 대한 적절한 데이터를 (발견)와 편집으로 대체, 자바 스크립트 데이터 구조를 조회 할 수

  4. 순수 JS 대신 jquery과 같은 프레임 워크를 학습하고 사용하면 을 권장하지만 반드시 준수해야하는 것은 아닙니다. 아래 코드는 순수한 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> 
+0

(?>)에 무엇을 넣을 수 있는지 알고 싶습니까? –

+0

PHP 코드는 안에 있으며 HTML과 JS 코드는 바깥에 있습니다. 전체적으로 그것은 "템플릿"처럼 작동합니다. PHP 코드가 실행되면 은 제어 흐름을 차단하고 HTML + JS 문서를 형성하기 위해 일부 출력 (아마도 비어 있음)을 생성합니다. 예를 들어, 은 ($ v1 + $ v2) 표현식의 값을 출력합니다. 자세한 내용은 PHP 문서를 읽어보십시오. –

+0

오 .. 나는 코드를 시도했다. 그것은 작동하지 않는 것, $ currency_pair의 선택. –

관련 문제