このコードがあり、画像の選択が解除されたとき (トグル時) に選択 (テキスト ボックス) を削除したいと考えています。また、テキストボックスを非表示にして、「送信」時に選択した画像のみを取得できるようにすることはできますか?
最善のアプローチは何ですか?
<html>
<head>
<style type="text/css">
div img {
cursor: pointer;
border: 1px solid #f00;
}
img {
padding: 5px;
}
img.clicked {
padding: 0;
border: 5px solid blue;
}
</style>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js"></script>
<script>
function setFormImage(id) {
if (id != '' && !document.getElementById('input_'+id)) {
var img = document.createElement('input');
img.type = 'text';
img.id = 'input_'+id;
img.name = 'images[]';
img.value = id;
document.imageSubmit.appendChild(img);
}
}
$(document).ready(function(){
$('#jqueryimages img').click(function(){
setFormImage(this.id);
});
});
</script>
</head>
<body>
<pre>
</pre>
<div id="jqueryimages" style="float: left; width: 49%;">
<h1>Image Selection</h1>
5. <img src="http://www.handmadepotery.com/home.gif" id="img-5"/>
<br/>
6. <img src="http://www.handmadepotery.com/home.gif" id="img-6"/>
<br/>
7. <img src="http://www.handmadepotery.com/home.gif" id="img-7"/>
<br/>
8. <img src="http://www.handmadepotery.com/home.gif" id="img-8"/>
</div>
<script>
ims = document.getElementsByTagName("img");
for( i=0 ; i<ims.length ; i++ ){
ims[i].onclick=function() {
if (this.className == "clicked") {
this.className = "";
} else {
this.className = "clicked";
}
};
}
</script>
<h1>Form Submit</h1>
<form name="imageSubmit" method="get">
<input type="submit" value="View Selected"/>
</form>
</body>
</html>