2017-04-21 9 views
0

最近私は私の仕事にとって非常に「大きすぎます」という仕事を得ました。2リストの出力が混在しています

私は、2つの要素を混合するジェネレータを作成したいと考えています。

  1. 場所のリスト
  2. コードやテキスト
  3. コードに場所を入力します
  4. 出力/各新しいライン

これは、HTML上の現在の仕事であるため、テキスト

Screenshot of generator

私はPHPでかなりのnoobなので、誰かがどのような機能を説明できるのでしょうか私はこの発電機を動作させるために使うべきですか?

これは私のコードです:

<div class="container"> 
<div class="col-lg-12"> 
    <h1 style="text-align:center; margin-bottom:50px;">Generate Locations  </h1> 
</div> 

<div class="col-lg-6"> 

    <h3>Input locations in new line each</h3> 

    <textarea rows="20" style="width:100%"> 
    </textarea> 
</div> 

<div class="col-lg-6"> 
    <h3>Input code. Use "??Location" to replace.</h3> 

    <textarea rows="20" style="width:100%"> 
    </textarea> 
</div> 

<center><button type="button" class="btn btn-primary" style="margin-top:20px;" >Generate</button></center> 

<div class="col-lg-12"> 
    <h3>Output</h3> 

    <textarea rows="20" style="width:100%"> 
    </textarea> 
</div> 

+0

onclickにそれを呼び出しますか?あなただけの結果を出力したい場合は、jsを介して行うこともできるので、PHPは必要です。 –

+0

Screenshotは今までの私のHTMLの仕事を示しています。そして、ええ、Javascriptは私にとってもうまくいきます。私はちょうど私が使用できる関数、最初のリストを取る方法、場所とエクスポートを検出するための助けが必要です –

+0

PHPでこれを行う特別な理由はありますか?これは、javascriptと同様に簡単に行うことができ、結果として送信とページロードを必要としません。 – Thakkie

答えて

0

まず、あなたが簡単にそれらを参照できるように、テキストエリアのIDを与える:

<textarea rows="20" style="width:100%" id="locations"> 
</textarea> 

<textarea rows="20" style="width:100%" id="inputcode"> 
</textarea> 

<textarea rows="20" style="width:100%" id="output"> 
</textarea> 

を、残りはJavascriptです:

<script> 
    function generateLocations() { 
     var locations = document.getElementById("locations").value.split(/[\r\n]+/g); 
     var inputcode = document.getElementById("inputcode").value; 

     var output_text = ""; 

     locations.forEach(function (item, index, array) { 
      output_text += inputcode.replace(/\?\?Location/g, item) + "\n"; 
     }); 

     document.getElementById("output").value = output_text; 
    } 
</script> 

あなたはcあなたのボタンですべてのこの機能:

<button onclick="generateLocations()" type="button" class="btn btn-primary" style="margin-top:20px;">Generate</button> 
+0

ありがとうございます!私は関数とonclickのためにそれを把握し、それは完全に働いています。ただ一つだけ、どのように出力がそれぞれ新しい行に行くように追加することができますか? –

+0

チェックマークはもちろん必須ですが、私はこれを保存することに感謝しています**これは最も重要なことです:) –

0

は、それぞれの場所の、コードの出力のテキストエリアにID locationscodeoutputを追加します。

function generate(){ 
    var lta = document.getElementById("locations"); 
    var cta = document.getElementById("code"); 

    var locations = lta.split("\n"); 
    var codes = cta.split("\n"); 
    var final = ""; 
    codes.forEach(function(code){ 
     locations.forEach(function(loc){ 
      var codeCopy = code; 
      final += codeCopy.replace("??Location", loc) + "\n"; 
     }) 
    }) 
    var out = document.getElementById("output"); 
    out.innerText = final; 
} 

スクリプトタグでこれを追加するには、あなたがショーの現在の作業を提供するスクリーンショットであるか、それはあなたの条件で生成ボタン

+0

ありがとうモハマド、私はあなたのコードをチェックしませんでした。ファラオが私に作業を提供してくれたからです。御時間ありがとうございます! –

関連する問題