0
我想隱藏一些使用Javascript的div,但我認爲回發不斷重新加載頁面。 爲了讓事情變得更加複雜,我的按鈕以編程方式添加到我的代碼後面。以編程方式添加按鈕和OnClientClick但仍然有回發問題
foreach (string line in thefilters)
{
Button newButton = new Button();
newButton.ID = Convert.ToString(line);
newButton.Text = Convert.ToString(line);
newButton.CssClass = "tblbutton";
//newButton.Attributes.Add("onclick", "hide_div("+newButton.ID+")");
newButton.OnClientClick = "return hide_div('" + newButton.ID + "')";
pnl_left.Controls.Add(newButton);
}
我的javascript位於標題如下。
<script type="text/javascript">
function hide_div(filter) {
var pnl_right = document.getElementById("pnl_right");
var listofelements = pnl_right.getElementsById("div");
for (var i = 0; i < listofelements.length; i++) {
if (listofelements[i].id.indexOf(filter) == 0) {
document.getElementById(listofelements[i].id).style.display = 'inline';
}
else {
document.getElementById(listofelements[i].id).style.display = 'none';
}
}
return false;
}
我可能在JavaScript的問題,什麼我想要實現,但我相信,如果我能阻止回傳的話,我可以解決的JavaScript自己..
感謝提前任何建議。
你檢查了瀏覽器的控制檯嗎? Javascript中可能存在錯誤,這會阻止'return false'執行,因此實際上並不希望您想要。你可以在你的Javascript函數的某個地方放置一個'alert'來查看它是否實際被調用? – Ian
您的OnClientClick應該設置爲「return hide_div('」+ newButton.ClientID +「')」; – Joe