ボタンをクリックするだけで、222222222222222 のような文字列を別のフィールド (空白になるか、すでに 222222222222222 33333333333333 のような数字がある) に追加する JavaScript があります。実際には、電話の 15 桁の IMEI です。ユーザーは、IMEI を 1 つ送信するか、一括 IMEI を送信するかを選択できます。myVar1 からボタンを押して一括フィールドに複数の IMEI を追加すると、新しい IMEI が一括フィールド (myVar2) の前の IMEI の下に挿入されます。
現在、私は以下のスクリプトを使用してこれを行っており、完全に正常に動作しています。問題は、追加する前に重複をチェックしないことです。
function append_myVar1_to_myVar2(){
var myVar1 = document.getElementById('myVar1_value').value;
var myVar2 = document.getElementById('myVar2_value').value;
if(document.getElementById('myVar2_value').value == ''){
document.getElementById('myVar2_value').value = myVar1;
}else{
document.getElementById('myVar2_value').value = document.getElementById('myVar2_value').value + "\r\n" + myVar1;
}
}
以下のようにスクリプトを修正しました (Brian のおかげで、最初の応答を含めるように更新されました) 重複をチェックしましたが、機能していません。専門家に調査を依頼してください。
function append_myVar1_to_myVar2(){
var myVar1 = document.getElementById('myVar1_value').value;
var myVar2 = document.getElementById('myVar2_value').value;
if(document.getElementById('myVar2_value').value == ''){
document.getElementById('myVar2_value').value = myVar1;
}else{
var flag = 0;
var wordsarr = myVar2.split("\r\n");
for(var i = 0; i < wordsarr.length; i++)
{
if(wordsarr[i].value == myVar1)
{
flag = 1;
}
}
if(flag == 1)
{
alert('Value is duplicate.');
}
else{
document.getElementById('myVar2_value').value = document.getElementById('myVar2_value').value + "\r\n" + myVar1;
}
}}
ページのhtmlは次のとおりです。
<html>
<body>
<input id="myVar1_value" type="text" maxlength="15" name="myVar1_value">
<input id="IMEI_ADD" class="button_gray" type="button" onclick="append_myVar1_to_myVar2()" value="Add this IMEI to bulk entry" name="IMEI_ADD">
<p id="imei_bulk_field" class="form-row notes">
<textarea id="myVar2_value" class="input-text" rows="2" cols="5" placeholder="If you have more than one IMEI, insert them here by pressing the button above." name="myVar2_value"></textarea>
</p>
</body>
</html>