2013-01-07 62 views
0

我可以成功顯示/隱藏div onclick。 但onclick div顯示一秒鐘,頁面刷新。 我已使用JavaScript。 代碼:顯示隱藏div成功,但點擊頁面刷新。剃鬚刀

 @{var Count = 0;} 
foreach (var commentlist in Model.Comments.Where(x => x.CommentParentID == 0)) 
    { 
<div id="@Count" style="display: none;"> 
<input type="submit" id="reply" class="reply-link" onclick="return showHide(@Count);" value="Reply" /> 
@{Count++; } 
</div> 
} 


<script type="text/javascript"> 
function showHide(Count) { 
     var ele = document.getElementById(Count); 
     if (ele.style.display == "block") { 
      ele.style.display = "none";   
     } 
     else { 
      ele.style.display = "block"; 
     } 
    } 
</script> 
+3

這是因爲您的網頁已提交。嘗試使用而不是「提交」 –

+0

提交作爲答案... – Vogel612

+0

@愛德華:感謝它的工作。請你可以讓這個帖子解決? –

回答

0

如果提交按鈕是<form>裏面你需要return falseshowHide如果你不想頁面提交後點擊它:

<script type="text/javascript"> 
function showHide(Count) { 
    var ele = document.getElementById(Count); 
    if (ele.style.display == "block") { 
     ele.style.display = "none";   
    } 
    else { 
     ele.style.display = "block"; 
    } 

    return false; // <-- that's important to prevent the page from submitting 
} 
</script> 

另請注意,id屬性不能以HTML中的數字開頭。所以請修正您的標記:

@{var Count = 0;} 
foreach (var commentlist in Model.Comments.Where(x => x.CommentParentID == 0)) 
{ 
    <div id="[email protected]" style="display: none;"> 
     <input type="submit" id="reply" class="reply-link" onclick="return showHide('[email protected]');" value="Reply" /> 
     @{Count++; } 
    </div> 
} 


<script type="text/javascript"> 
function showHide(id) { 
    var ele = document.getElementById(id); 
    if (ele.style.display == "block") { 
     ele.style.display = "none";   
    } 
    else { 
     ele.style.display = "block"; 
    } 
    return false; 
} 
</script> 
+0

好的。謝謝你告訴我這件事。 –

0

這是因爲您的頁面正在提交。嘗試使用<input type="button"...>代替<input type="submit"...>

區別就在這裏的:Difference between <input type='button' /> and <input type='submit' />

而且你的控件ID不能以數字開頭,並且必須是唯一的:

@{var Count = 0;} 
foreach (var commentlist in Model.Comments.Where(x => x.CommentParentID == 0)) 
{ 
    <div id="[email protected]" style="display: none;"> 
     <input type="submit" id="[email protected]" class="reply-link" onclick="return showHide('[email protected]');" value="Reply" /> 
     @{Count++; } 
    </div> 
} 
相關問題