2017-12-26 4 views
-7

私はそれを貼り付けるとき、それは自動的に複数の値を複数のフォーム入力に1つのペーストで貼り付けるにはどうすればいいですか?

3などなどに、最初のフィールドに1を置き、第2フィールドに2、3、私は

1 2 3 4 

をコピーして、入力フィールドを選択セイコピーされた値は、スペース、カンマまたはタブで区切られます。

フォームは単純なhtmlです。私はデータベースに挿入するためにPHPを使用していますが、ソリューションの言語は問われません。私はそのjqueryをイメージし、関連するjQueryプラグインが存在する場合はそれを私に指示します。

+0

どこのフィールドがありますか?何を試しましたか? Stackoverflowは無料のコード作成サービスではありません。あなたはあなた自身の問題を解決するためにあなたのコードの試みを示すことが期待され、人々は**あなたのコード**を修正するのを手伝います**。また、データ長が利用可能なフィールドを超えていないことの検証に関する詳細も必要です – charlietfl

+0

フィールドは無関係で、何も試していません。私はグーグルの難解なフレーズを除いて試してみませんか?期待しているコード。私のここのコードは、前述の理由から無関係です。私は誰も正しい方向にポイントを奪い取ることはないと確信しています。私が必要とするのは名前がついていると確信しています。 –

+0

まず、文字列を分割する方法を学習します。その部分をどうやって行うのか、Web上にたくさんのリソースがあります。 – charlietfl

答えて

1

私はコードを1行ずつコメントしましたが、これで十分です。私は仕事に向かなければなりません。そして、私がそこに着くと、明確な編集を行います。

$(function(){ 
 
    //run this on dom ready 
 
    $('.paste-me').on('paste', function(e){ 
 
    //add the paste event to all of the paste-me classes 
 
    var data1 = e.originalEvent.clipboardData.items[0]; 
 
    //get the data transfer item of hte original clipboard data event. 
 
    if(data1.kind == 'string' && data1.type=='text/plain'){ 
 
    //If it is a string and text/plain, move forward 
 
     e.stopPropagation(); 
 
     //Stop the propagtion of this event 
 
     data1.getAsString(function(s){ 
 
     //get the string contents of the clipboard item. 
 
     s = s.split('\t'); 
 
     //split it by spaces 
 
     $('.paste-me').each(function(i,item){ 
 
      //loop through each .paste-me item 
 
      $(item).val(s[i] || ''); 
 
      //set the value from the split array, or an empty string if someone copy/pastes something too small to put a value in each item 
 
     }); 
 
     }); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input class="paste-me" name="paste_me[]" type="text"/> 
 
<input class="paste-me" name="paste_me[]" type="text"/> 
 
<input class="paste-me" name="paste_me[]" type="text"/> 
 
<input class="paste-me" name="paste_me[]" type="text"/>

+0

答えをくれてありがとう、ちょっとした質問ですが、タブを使って区切りしようとしていますが、「\ t」は動作していないようです。 –

+0

@AasimAzam私はGoogleスプレッドシートに行き、 '1 4 '(4つの異なるセルに)で書いて、' split'を 'split '(' \ t ')'に変更して、私にとっては期待通りです。 – Jhecht

+0

私はExcel、シート、単純なテキストファイルからペーストしようとしましたが、役に立たなかった。私が間違っていることがわからない –

-1

トークナイザを使用して、これを実現し、次に再入力する要素に値(配列に格納されたcommonoly)を設定します。

関連する問題