同じ名前の2つの入力フィールドがあります。これはプロジェクトのビジネスロジックによるものです。同じ名前の2つの入力フィールド - 変更イベントの場合
彼らはそのように見える:私はこれらの2つの入力間の違いを確認する方法を、このように変更event.But上の入力フィールドの後に画像名を追加する必要が
<input type="file" name="director_front_passport[]" class="app-file" id="director_front_passport" />
<input type="file" name="director_front_passport[]" class="app-file" />
?
私はそれらをid
attrで区別しようと考えましたが、フィールドを追加するのにclone
ボタンがありますが、これは変更イベントでは機能しません。
更新:変更イベントのための私のコードは以下の通りです:
var inputs = document.querySelectorAll('.app-file');
Array.prototype.forEach.call(inputs, function(input)
{
input.addEventListener('change', function(e)
{
//my code for displaying image
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
私が変更された入力を見つけること$(this)
を使って自分のコードを更新し、自分のコードが見えます:
var inputs = document.querySelectorAll('.app-file');
Array.prototype.forEach.call(inputs, function(input)
{
input.addEventListener('change', function(e)
{
var changed = $(this);
var label \t = changed.next(),
labelVal = label.innerHTML,
divName = label.next();
fileName = e.target.value.split('\\').pop();
divName.html(fileName);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="file" name="director_front_passport[]" class="app-file" id="director_front_passport" />
<input type="file" name="director_front_passport[]" class="app-file" />
は、なぜあなたがそれらを区別する必要がありますか、どちらかの入力が画像名を追加変更するのだろうか? – depperm
ユーザが最初の入力からファイルを選択するときに、イメージ名を追加する必要があるためです。ユーザーが2番目の入力から画像をアップロードすると、2番目の画像を削除します。 –
1つを変更すると2つの入力が削除されるのはなぜですか?なぜ1つの入力を持っていないのですか? – depperm