2017-03-15 8 views
0

私は電卓プログラムをPHPコードで作成しようとしています。php形式のテキストボックスから複数の入力を受け取ることはできますか?

私はhtmlとjavascriptを使用して作成しましたが、論理部分にPHPコードを使用するように指示されています。

テキストボックスから複数の入力をPHPフォームで行う方法はありますか?

+0

はい、しかし、あなたは、単一のtextboから値のリストを取る意味ですかxを配列に変換するか、複数のテキストボックスから値の配列を取り出してリストに変換することを意味しますか? –

+3

[phpの複数の値に対して単一の入力テキストボックスをチェックする方法](http://stackoverflow.com/questions/16052436/how-check-single-input-text-box-for-multiple-values-in- PHP) – Nawin

+1

とあなたの質問にいくつかのサンプルコードを置くことができますか? –

答えて

1

はい、異なる名前を付けて$_REQUEST['input_name']にアクセスすることで、フォーム内の複数の入力を簡単に使用できます。

0

この例では、選択したチェックボックスをポップアップから取り出し、メインフォームのテキスト入力フィールドにコンマ区切りのリストとして入れています。

HTML

<input type="text" id="entry-r1" placeholder="place" tabindex="1"> 
    <a class="show-lookup button" href="#" id="popup-r1" tabindex="2"><i class="fa fa-search"></i></a> 
    <div class="overlay">&nbsp;</div> 
    <div class="lookup-multiselect" id="lookup-r1"> 
     <a class="button close-button right">x</a> 
     <form action="" id="form-r1" name="form-r1" method="post"> 
      <input class="checkall" id="checkall" type="checkbox"> 
     <label for="checkall" class="narrow">Select all</label> 
      <p class="category" id="checkboxes-r1"><strong>Select...</strong><br> 
       <input class="js-popup-focus" type="checkbox" name="place" id="antwerp" value="Antwerp" tabindex="3"> <label for="antwerp">Antwerp</label><br> 
       <input type="checkbox" name="place" id="berlin" value="Berlin" tabindex="3"> <label for="berlin">Berlin</label><br> 
       <input type="checkbox" name="place" id="cairo" value="Cairo" tabindex="3"> <label for="cairo">Cairo</label><br> 
       <input type="checkbox" name="place" id="duss" value="D&uuml;sseldorf" tabindex="3"> <label for="duss">D&uuml;sseldorf</label><br> 
      </p> 
     </form> 
      <a href="#" class="button close-button right" tabindex="4">Use selected</a> 
    </div> 

CSS

.overlay { 
    display: none; 
    position: fixed; 
    text-align: center; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    z-index: 1; 
    opacity: 0.7; 
    background: #333; 
} 

.lookup-popup, .lookup-multiselect { 
    padding: 0.5em; 
    display: none; 
    z-index: 99999; 
    background-color: #fff; 
    position: absolute; 
    top: 5em; 
    left: 25%; 
    width: 20%; 
} 

jQueryの

$(document).ready(function() 
{ 

    /* get id of form to work with */ 

    $('.show-lookup').click(function() 
    { 
     var pairedId = $(this).attr('id').split('-'); 
     var lookupToDisplay = '#lookup-' + pairedId[1]; 
     $('.overlay').show(); 
     $(lookupToDisplay).show(); 
     $('.js-popup-focus').focus(); 
    }); 

/* put value selected in lookup into field in main form */ 

    $('.lookup-popup input').on('change', function() 
    { 
     var fieldname = $(this).attr('name'); 
     var pairedId = $(this).parent().attr('id').split('-'); 
     var selOption = $('input[name='+fieldname+']:checked').val(); 
     $("#entry-"+pairedId[1]).val(selOption); 
    }); 

/* for checkbox version, append selected values to field in main form */  

    $('.lookup-multiselect input').on('change', function() 
    { 
     var pairedId = $(this).parent().attr('id').split('-'); 
     //event.preventDefault(); 
     var selOptions = $(".category input:checkbox:checked").map(function(){ 
      return $(this).val(); 
     }).get(); // <---- 
     //console.log(selOptions); 
     var selectedString = selOptions.toString(); 
     $("#entry-"+pairedId[1]).val(selOptions); 
    }); 

    $('.close-button').click(function() 
    { 
     $(this).parent().hide(); 
     var pairedId = $(this).parent().attr('id').split('-'); 
     $('.overlay').hide(); 
     $("#entry-"+pairedId[1]).focus(); 
    }); 
}); 
+0

私が質問に対する私のコメントで言ったように、私は何が求められているのかはっきりしていませんしたがって、ここでは便利ではないかもしれませんが、コンマ区切りのリストを単一のテキストボックスに入れて、フォームが提出されたPHPページによって配列として解析できる、使いやすい方法を作成しますに –

関連する問題