Как создать форму действия sh с переменной выбора? - PullRequest
1 голос
/ 29 марта 2020

Я хочу получить значение из select в html и pu sh в URL-адрес действия. Поэтому, когда пользователи выбирают что-то, значение действия buyoption будет значением выбора, я бы предпочел сделать это с php, если нет возможности сделать это с html.

Это моя тестовая покупка это не меняет выбор покупки на переменную выбора.

, пожалуйста, помогите

	<form action="<?php echo URLROOT; ?>/trades/trade/buyoption/selloption" method="POST">
    
                <div class="row">
                   
                    <div class="col-md-9 register-right" >
                    
                        <div class="tab-content" id="myTabContent">
                            <div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">
                                <h3 class="register-heading">TRADE</h3>
                                <div class="row register-form">
                                   
                                    <div class="col-md-12">
											<label for="buy"><b>YOU SEND:</b></label>
											
                                        <div class="form-group">
                                            
                                            <select class="form-control" name="buyoption" id="buyoption">
                                                <option class="hidden"  selected disabled>Please select what you want to sell</option>
                                                <option value="btc">Bitcoin (BTC)</option>
                                                <option value="ltc">LITECOIN (LTC)</option>
                                                <option value="eur">NATIONAL BANK TRANSFER (EUR/USD/HRK)</option>
                                            </select>
                                                
                                            
                                            
                                        </div>
                                       
										<label for="buy"><b>YOU RECEIVE:</b></label>
										  <div class="form-group">
                                            <select class="form-control" name="selloption" id="buyoption">
                                                <option class="hidden"  selected disabled>Please select what you want receive</option>
                                                <option value="btc">Bitcoin (BTC)</option>
                                                <option value="ltc">Litecoin (LTC)</option>
                                                <option value="eur">NATIONAL BANK TRANSFER (EUR/USD/HRK)</option>
                                            </select>
                                        </div>

    
									
                                        <input type="submit" class="btnRegister"  value="Proceed"/>
                                    </div>
                                </div>
                            </div>
                            
                        </div>
                    </div>
                </div>
    </form>

1 Ответ

1 голос
/ 29 марта 2020

Не должно быть кратных elements в document с одинаковым значением id.

Вы можете наблюдать за событием change элемента select и, при изменении, манипулировать URL-адресом действия.

let buyoption = document.getElementById('buyoption');
let selloption = document.getElementById('selloption');
let postForm = document.getElementById('postForm');
let action = postForm.getAttribute('action');
let replacerFn = function() {
  let temp = action;
  if (buyoption.value) {
    temp = temp.replace('buyoption', buyoption.value);
  }
  if (selloption.value) {
    temp = temp.replace('selloption', selloption.value);
  }

  postForm.setAttribute('action', temp);
  console.log('Action Attribute=> ', postForm.getAttribute('action'));
};
buyoption.addEventListener('change', function() {
  replacerFn();
});

selloption.addEventListener('change', function() {
  replacerFn();
});
<form action="/trades/trade/buyoption/selloption" method="POST" id="postForm">
  <div class="row">
    <div class="col-md-9 register-right">
      <div class="tab-content" id="myTabContent">
        <div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">
          <h3 class="register-heading">TRADE</h3>
          <div class="row register-form">
            <div class="col-md-12"> <label for="buy"><b>YOU SEND:</b></label>
              <div class="form-group">
                <select class="form-control" name="buyoption" id="buyoption">
                  <option class="hidden" selected disabled value="">Please select what you want to sell</option>
                  <option value="btc">Bitcoin (BTC)</option>
                  <option value="ltc">LITECOIN (LTC)</option>
                  <option value="eur">NATIONAL BANK TRANSFER (EUR/USD/HRK)</option>
                </select>
              </div><label for="buy"><b>YOU RECEIVE:</b></label>
              <div class="form-group">
                <select class="form-control" name="selloption" id="selloption">
                  <option class="hidden" selected disabled value="">Please select what you want receive</option>
                  <option value="btc">Bitcoin (BTC)</option>
                  <option value="ltc">Litecoin (LTC)</option>
                  <option value="eur">NATIONAL BANK TRANSFER (EUR/USD/HRK)</option>
                </select>
              </div><input type="submit" class="btnRegister" value="Proceed" /> </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...