我花了很多时间研究如何使用JS在我的网站中动态更改按钮href。我有一个功能正常的Wordpress网站,但是想使用JS添加一些小的附加功能来根据一些用户选项更改按钮的链接。
我已经研究了这个并找到了答案,但我绝对无法在我的网站上找到解决方案。
这里应该找到最简单的解决方案之一: How to make option selection change button link?
我无法理解我想要完成的内容与所接受的答案之间的区别。我添加了window.onload()以防止JS在元素加载之前运行。
我正在尝试使用以下HTML& JS代码:
HTML代码:
<input type="hidden" id="input-book-type" value="GlassCrystal">
<br><br>
<select id="select-page-size">
<option value="6x6">6" x 6"</option>
<option value="10x10">10" x 10"</option>
</select>
<br><br>
<input id="input-project-title" value="Optional Project Title">
<br><br>
<a class="button" id="design-button" href="http://">Design Now</a>
JS代码:
window.onload = function() {
document.getElementById("design-button").onclick = function() {
var booktype = document.getElementById("input-book-type");
var pagesize = document.getElementById("select-page-size");
var projtitle = document.getElementById("input-project-title");
this.href = "http://test/?sessionid=guest&ref="+booktype.value+pagesize.value+"&projectName="+projtitle.value+"/";
};
}
答案 0 :(得分:0)
以下是示例代码:
var questions = {"ques_id":"1","question":"<p><span class=\\\"math-tex\\\">\\\\(x = {-b \\\\pm \\\\sqrt{b^2-4ac} \\\\over 2a}\\\\)<\/span> Test Question new with mathjax<\/p>","ques_type":"text_based_questions","correctAnswer":3,"choices":[{"option_id":"1","value":"Option A"},{"option_id":"2","value":"Option B"},{"option_id":"3","value":"Option C"},{"option_id":"4","value":"OPtion D"}]};
$('#test-question').html(questions.question);
MathJax.Hub.Queue(["Typeset",MathJax.Hub, 'test-question']);
我是从here
获取的答案 1 :(得分:0)
将按钮更改为:
redirect(obj) {
window.location.href = "http://test/?sessionid=guest&ref="+booktype.value+pagesize.value+"&projectName="+projtitle.value+"/"
}
现在,不要使用链接,只需执行一个函数来获取输入并更改window.location.href(或您喜欢的任何方法)来更改页面。
{{1}}
显然根据自己的喜好改变它:)
答案 2 :(得分:0)
我认为你改变href的代码是正确的。但是,不会立即调用onload函数以使代码生效。
window.onload = function(e) {
var booktype = document.getElementById("input-book-type");
var pagesize = document.getElementById("select-page-size");
var pagenum = document.getElementById("select-page-num");
var projtitle = document.getElementById("input-project-title");
document.getElementById("design-button").onclick = function() {
this.href = "http://design.framesmile.com/?sessionid=guest&ref=" + booktype.value + pagesize.value + "*projectName=" + projtitle.value + " / ";
console.log(this.href);
};
}();// invoke the function
&#13;
<input type="hidden" id="input-book-type" type="" value="GlassCrystal">
<br>
<br>
<select id="select-page-size">
<option value="6x6">6" x 6"</option>
<option value="10x10">10" x 10"</option>
</select>
<br>
<br>
<select id="select-page-num">
<option value="20">20</option>
<option value="22">22</option>
</select>
<br>
<br>
<input id="input-project-title" type="" value="Optional Project Title">
<br>
<br>
<a class="button" id="design-button" href="http://test/">Design Now</a>
&#13;
答案 3 :(得分:-1)
我建议使用jQuery。
$("#submit").on('click', function(event) {
event.preventDefault();
data = $("#link").val();
$("#frame").attr({
src: "http://"+data});
});
点击提交按钮后,它会更改iframe网址,自动更改iframe的内容。
我真的不明白你要问的是什么,但试着修改上面的代码:)