JavaScript - удаление тега с HTML страницы

tolst

Новичок
JavaScript - удаление тега с HTML страницы

есть внутри странички допустим такой тег:
<input type="file" name="somename" id="someid">


ниже мне нужно написать скрипт каторый не просто скроет этот тег с экрана (document.getElementById('someid').style.display = "none") а удалит этот тег вообще.


Нужно мне это для того, чтобы можно было обнулять значение value тега <input type="file"

Так как выставлять в тег этого типа значение value не льзя, а Form.Reset() мне делать не льзя, так как удалятся все данные... Брать во временный массив все данные, а затем делать Reset формы после чего выставлять данные тоже не получится, так как у меня этих полей может быть несколько...




<html>
<head>
<title>BLA BLA BLA</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link href="./stylesheet.css" rel="stylesheet" type="text/css">
</head>
<body>

<script language="JavaScript">
var lists = new Array();
var lists2 = new Array();
var tmps;

function AddPhoto(elementus){
tmps = "";
// &#196;&#238;&#225;&#224;&#226;&#235;&#255;&#229;&#236; &#226; &#241;&#239;&#232;&#241;&#238;&#234; &#237;&#243;&#230;&#237;&#251;&#233; &#239;&#243;&#242;&#252;
lists[lists.length] = elementus.value;

// &#195;&#229;&#237;&#229;&#240;&#232;&#240;&#243;&#229;&#236; &#241;&#239;&#232;&#241;&#238;&#234;
GeneratePhotos();
GenerateInputs();
}


function deletePhoto(fedotov){

// &#196;&#238;&#225;&#224;&#226;&#235;&#255;&#229;&#236; &#226; &#241;&#239;&#232;&#241;&#238;&#234; &#243;&#228;&#224;&#235;&#184;&#237;&#237;&#251;&#245;
lists2[lists2.length] = fedotov;

// &#195;&#229;&#237;&#229;&#240;&#232;&#240;&#243;&#229;&#236; &#241;&#239;&#232;&#241;&#238;&#234;
GeneratePhotos();

for (var i = 0; i < Fedotov.length; i++){
if (Fedotov.elements.type == "file" && Fedotov.elements.value == fedotov){
var deleted_file = Fedotov.elements.value.toString();
deleted_file = deleted_file.split("\\");
deleted_file = deleted_file[deleted_file.length-1];
document.getElementById('hiddens').innerHTML += "<input type='hidden' name='delete_array[]' value='" + deleted_file + "'>";
break;
}
}

}


function GeneratePhotos(){
tmps = "";
for (var i = 0; i < lists.length; i++) {
for (var z = 0; z < lists2.length; z++) {
if (lists == lists2[z]){
lists = "";
}
}
if (lists != ""){
tmps += "<table width='600' border='0'><tr><td width='100' valign='top'><img src='" + lists + "' width='100'></td><td valign='top'><b>" + lists + "</b></td></tr><tr><td>&nbsp;</td><td><a href=\"javascript:deletePhoto('" + lists.replace(/\\/g, '\\\\') + "');\">&#211;&#228;&#224;&#235;&#232;&#242;&#252;</a></td></tr></table><br>";
}
}
document.getElementById('fieldss').innerHTML = tmps;

// &#196;&#226;&#232;&#227;&#224;&#229;&#236; &#239;&#240;&#238;&#234;&#240;&#243;&#242;&#234;&#243; &#225;&#240;&#224;&#243;&#231;&#229;&#240;&#224;
scroll(0, 100000);
}

var gr = 2;
function GenerateInputs(){
for (var i = 0; i < Fedotov.length; i++){
if (Fedotov.elements.type == "file" && Fedotov.elements.value != ""){
Fedotov.elements.style.display = "none";
}
}
Fedotov.elements[Fedotov.length-gr].style.display = "block";
gr++;
}
</script>

<br><br><br>

<center>

<form method="post" action="http://avtovazbank/" name="Fedotov" enctype="multipart/form-data">
<div id="hiddens"></div>
<div id="fieldss"></div>

<table width="70%" cellspacing="0" cellpadding="0" border="0"><tr><td>

<script>
for (var i = 0; i < 100; i++){
document.write('<input type="file" name="fotka[]" style="width:100%;" onchange="AddPhoto(this);" style="display: none;">');
}
</script>
</td></tr></table>
<br>
<input type="submit" value="&#206;&#242;&#239;&#240;&#224;&#226;&#232;&#242;&#252;">
</form>
</center>
<script>
GenerateInputs();
function ShowAll(){
for (var i = 0; i < Fedotov.length; i++){
if (Fedotov.elements.type == "file"){
Fedotov.elements.style.display = "block";
}
}
}
</script>
<a href="javascript:ShowAll()">&#207;&#238;&#234;&#224;&#231;&#224;&#242;&#252; &#226;&#241;&#229;</a>
</body>
</html>
 

tolst

Новичок
слушай, нужно попробовать

-~{}~ 16.03.06 16:47:

Спасиба бальшое, весь день измучался и даже не додумался до этого:

function deletePhoto(fedotov){

lists2[lists2.length] = fedotov;

// &#195;&#229;&#237;&#229;&#240;&#232;&#240;&#243;&#229;&#236; &#241;&#239;&#232;&#241;&#238;&#234;
GeneratePhotos();

for (var i = 0; i < Fedotov.length; i++){
if (Fedotov.elements.type == "file" && Fedotov.elements.value == fedotov){
var deleted_file = Fedotov.elements.value.toString();
deleted_file = deleted_file.split("\\");
deleted_file = deleted_file[deleted_file.length-1];
document.getElementById('hiddens').innerHTML += "<input type='hidden' name='delete_array[]' value='" + deleted_file + "'>";
Fedotov.elements[i+1].disabled = true;

break;
}
}

}
 

sacred

Новичок
подскажите, такая же ситуация, только надо текст прятать,
формы через disabled=true (false) переключаю, а вот с текстом описанием как быть?
Каким тегом его обрамить что бы можно было так же управляться?
 

regi

Новичок
<a href="#show" onClick="document.getElementById('sh').style.display='block'">show</a><br>
<a href="#hide" onClick="document.getElementById('sh').style.display='none'">hide</a><br>
<div id="sh" style="display:none;">TEXT</div>
 

sacred

Новичок
regi
display:none и display:block
супер! то что надо!

спасибо

-~{}~ 16.03.06 20:16:

одно но...
если ставить радиокнопку а за ней LABEL
потом через display:none и display:block
их включать/отключать то почему-то радиокнопка и LABEL переносятся на разные строки :(
 

Scud

Новичок
потому что display:block говорит показывать элемент как блок, т.е. все что после будет с новой строки. В твоём случае нужен display:inline ;)
 
Сверху