【问题标题】:On click of button reload page and change button text单击按钮重新加载页面并更改按钮文本
【发布时间】:2016-08-18 16:17:26
【问题描述】:

我想点击一个按钮重新加载页面并更改按钮内的文本。

我得到了重新加载:

Javascript:

function reloadPage(){
window.parent.location = window.parent.location.href;}

HTML:

<button type="button" onClick="reloadPage()">Start</button>

<script src="reloadpage.js"></script>

点击后,按钮中的文字必须从“开始”变为“再试一次!”

我该怎么做?

谢谢。

【问题讨论】:

标签: javascript jquery html button text


【解决方案1】:

您可以通过在重新加载时添加查询字符串来做到这一点,然后有一个脚本来检测查询字符串并更改按钮 onload 的文本。

JavaScript:

function reloadPage(){
window.parent.location = window.parent.location.href+"reload=true";}

function checkQString(){
// get query strings and store reload qstring in variable
if (reload) {
    document.getElementById('btn').innerHTML = 'Try Again!';
}

HTML

<button id='btn' type="button" onLoad='checkQString();' onClick="reloadPage()">Start</button>

<script src="reloadpage.js"></script>

【讨论】:

  • 同意你的回答。我想补充一点,建议根据get参数确定服务器端的文本,而不是生成它然后覆盖它。
  • 这个link 将展示如何获取QStrings
  • 埃利亚斯,我理解你的解决方案,赞成它,但批评它,因为你分配“再试一次!”的部分到 innerHTML 是一个矫枉过正。您应该在将其发送给用户之前在服务器端执行此操作,而不是生成标记然后搜索“btn”并覆盖其 innerHTML。
  • 感谢您的支持和批评。但是,我不确定在 OP 的问题中哪里有独立服务器的迹象?在我看来,OP 似乎只是在处理客户端代码。我确实看到,如果有服务器,使用您建议的解决方案会更好。 @LajosArpad
  • 埃利亚斯,这是一个很好的观点。其实我是想写一个答案的,但是你的发的比较早,所以我点赞批评了。事实上,如果没有服务器端,那么应该使用类似你的代码的东西。如果有服务器端,那么应该使用我的建议。因此,我相信您应该编辑您的答案以反映我们对话的结果,然后它将具有非常高的质量。现在它“只是”高质量:)
【解决方案2】:

您可以使用 Cookie。使用js可以使用https://plugins.jquery.com/cookie/或者可以使用服务器端cookies

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-06
    • 1970-01-01
    • 2013-10-13
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    • 2023-03-13
    • 2017-04-30
    相关资源
    最近更新 更多