在我的下面的代碼中。總共有8個文本框用div封裝,ID從fa1
到fa8
。html表單在表單提交後保持禁用狀態
FA1和FA2被設定使用添加\刪除按鈕(
addfa
和removefa
)來添加和刪除其它的div以及還使用hidden
輸入元件使用來跟蹤計數默認顯示其
value
(默認值3)添加按鈕獲取禁用一旦它顯示所有隱藏的div(即在
countfa
= 9),而remove布敦得到啓用一旦有3名或更多的文本框(即countfa
值4個或更多)FA3至FA8設置爲
display:none
和使用上述添加\刪除ID來顯示它們我需要保持沿着數據文本框,其後形式提交輸入由用戶。
問題,我面對: 我使用的是PHP代碼隱藏輸入元素來更新根據用戶的DIV ID選擇它的value
depednds形式提交後。我看到,儘管表單提交後有3個或更多文本框,但刪除按鈕處於禁用狀態。我已檢查隱藏的輸入value
是否正在使用新值進行更新,並且我看到它正在更新,但仍然將刪除按鈕處於禁用狀態。 任何想法爲什麼它不顯示在啓用狀態。
我的html代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<body>
<form id="main" name="main" action="#text" method="post" >
<div id="fa1">
<input class="textbox" id="tbox1" name="tbox1" type="text" value="<?php if(isset($_POST['tbox1'])) { echo htmlentities ($_POST['tbox1']); }?>" /></span>
</div>
<div id="fa2">
<input class="textbox" id="tbox2" name="tbox2" type="text" value="<?php if(isset($_POST['tbox2'])) { echo htmlentities ($_POST['tbox2']); }?>" /></span>
</div>
<div id="fa3" style="<?php if(empty($_POST['tbox3'])) { echo "display:none;"; } else { echo "display:block;"; } ?>">
<input class="textbox" id="tbox3" name="tbox3" type="text" value="<?php if(isset($_POST['tbox3'])) { echo htmlentities ($_POST['tbox3']); }?>" /></span>
</div>
<div id="fa4" style="<?php if(empty($_POST['tbox4'])) { echo "display:none;"; } else { echo "display:block;"; } ?>">
<input class="textbox" id="tbox4" name="tbox4" type="text" value="<?php if(isset($_POST['tbox4'])) { echo htmlentities ($_POST['tbox4']); }?>" /></span>
</div>
<div id="fa5" style="<?php if(empty($_POST['tbox5'])) { echo "display:none;"; } else { echo "display:block;"; } ?>">
<input class="textbox" id="tbox5" name="tbox5" type="text" value="<?php if(isset($_POST['tbox5'])) { echo htmlentities ($_POST['tbox5']); }?>" /></span>
</div>
<div id="fa6" style="<?php if(empty($_POST['tbox6'])) { echo "display:none;"; } else { echo "display:block;"; } ?>">
<input class="textbox" id="tbox6" name="tbox6" type="text" value="<?php if(isset($_POST['tbox6'])) { echo htmlentities ($_POST['tbox6']); }?>" /></span>
</div>
<div id="fa7" style="<?php if(empty($_POST['tbox7'])) { echo "display:none;"; } else { echo "display:block;"; } ?>">
<input class="textbox" id="tbox7" name="tbox7" type="text" value="<?php if(isset($_POST['tbox7'])) { echo htmlentities ($_POST['tbox7']); }?>" /></span>
</div>
<div id="fa8" style="<?php if(empty($_POST['tbox8'])) { echo "display:none;"; } else { echo "display:block;"; } ?>">
<input class="textbox" id="tbox8" name="tbox8" type="text" value="<?php if(isset($_POST['tbox8'])) { echo htmlentities ($_POST['tbox8']); }?>" /></span>
</div>
<?php
if(isset($_POST['countfa'])){
$valueid = $_POST['countfa'];
?>
<input type="hidden" id="countfa" name="countfa" value="<?= $valueid ?>" readonly>
<?php
}else{
?>
<input type="hidden" id="countfa" name="countfa" value="3" readonly>
<?php
}
?>
<button type="button" onClick="AddNewFa();" id="addfa" > + Add New FA </button>
<button type="button" onClick="RemoveNewFa();" id="removefa" disabled="disabled"> - Remove FA</button>
<input id="generate" type="submit" name="script" value="create my symcli script" />
</form>
</body>
</html>
和我的javascript代碼:
function AddNewFa()
{
var facount = parseInt($('#countfa').val(),9) ;
document.getElementById("test1").innerHTML = facount;
if(facount < 10)
{
facount = facount+1;
document.getElementById("test2").innerHTML = facount;
for(i=3;i<10;i++)
{
if(i<facount)
$('#fa'+i).slideDown("fast");
else
$('#fa'+i).slideUp("fast");
}
$('#countfa').val(facount);
}
if(facount >=9)
{ $('#addfa').attr('disabled','disabled');}
if(facount >=4)
{ $('#removefa').removeAttr("disabled");}
}
function RemoveNewFa()
{
var facount = parseInt($('#countfa').val(),10) ;
document.getElementById("test3").innerHTML = facount;
if(facount >3)
{
facount = facount-1;
document.getElementById("test4").innerHTML = facount;
for(i=3;i<10;i++)
{
if(i<facount)
$('#fa'+i).slideDown("fast");
else
$('#fa'+i).slideUp("fast");
}
$('#countfa').val(facount);
}
if(facount <=3)
{ $('#removefa').attr('disabled','disabled');}
if(facount <=8)
{ $('#addfa').removeAttr("disabled"); }
}
我對這個 注意設置一個PHP FIDDLE:在PHP小提琴添加按鈕不能正常工作表單提交後。但我在實際網站上看到它工作正常。刪除按鈕仍然不起作用
你說他們在表單提交後仍然被禁用 - 你是否在下面的HTML部分中錯過了一個PHP條件,以便在頁面顯示時實際刪除「禁用」部分? '' –