【问题标题】:Inserting the URL output of Javascript in HTML as HREF将 Javascript 的 URL 输出插入 HTML 作为 HREF
【发布时间】:2016-07-20 18:03:05
【问题描述】:

我的网站上有一个表单,由访问者提供输入。提交后,他们会根据输入重定向到 Javascript 生成的 URL。

因此说明:如果他们将 Data1 和 Data2 作为输入,他们将被重定向到 www.example.com/ajaData1+Data2

实际上,我不想将它们重定向到任何 URL。我希望他们在单击提交按钮后得到一个 href 来查看,以便他们可以选择是否要转到该 URL。

这是我的 JavaScript

<script type="text/javascript">function goToPage(){
var date = $('input[name=date]:checked').val();
var time = $('input[name=time]:checked').val();
var subject = $('input[name=subject]:checked').val();
window.location.href ="http://bay02.calendar.live.com/calendar/calendar.aspx?rru=-"+date+"-"+time+"-"+subject+"-";}</script>

而这个就是我要修改的html代码。我的问题是如何将 javascript 的输出插入 HTML 的 href 部分?

<div class="group submit">
                <label class="empty"></label>
                <div><input name="submit" type="submit" onclick="goToPaget()" value="Get your appointment!"/></div>
            </div>


            <div id="form-message" class="message hide">
                Thank you for your request
            <div id="output" class="message hide "></div>

                <h4><a href="**SO HERE I WANT TO PUT THE OUTPUT OF THE JAVASCRIPT**" title="Add To Calender">Add To Calender</a></h4>

            </div>

【问题讨论】:

  • 设置链接标签的href属性?
  • 并考虑阻止默认提交行为以停止重定向。
  • $('a').attr('href','你的价值');
  • @AjuJohn 我应该把代码放在哪里?
  • @DaveNewton 这个怎么样? jsfiddle.net/kutlu01/L688swfz为什么还是不行?

标签: javascript html output


【解决方案1】:

类似这样的:

document.querySelection("div#form-message h4 a").setAttribute(
    "href",
    PUT YOUR VALUE HERE
);

【讨论】:

  • 根据您的建议,我有什么。尽管如此,我还是无法访问生成的 URL:jsfiddle.net/kutlu01/L688swfz
  • 看起来你错过了元素 ID 前面的#。你需要类似document.querySelector("#AddToCalendar").setAttribute("href", link)
【解决方案2】:

在从用户输入生成字符串后,使用 jQuery 选择器设置锚点的href 的解决方案:

$('.group.submit').on('click', 'input[type="submit"]', function(){
    var date = $('input[name=date]:checked').val();
    var time = $('input[name=time]:checked').val();
    var subject = $('input[name=subject]:checked').val();
    var link = "http://bay02.calendar.live.com/calendar/calendar.aspx?rru=-"+date+"-"+time+"-"+subject+"-";

    $('a[title="Add To Calender"]').attr('href', link);
    $('#output').removeClass('hide');
}))

将此代码添加到您的脚本中,它应该会生成适当的链接并将 href 分配给您的“添加到日历”锚。

【讨论】:

  • 谢谢。然而,我没能做到。两个问题: - 我应该把你写的以下代码放在哪里:“ $('a[title="Add To Calender"]').attr('href', link);” - 我怎样才能让javascript 与 html 代码对话,以便在访问者点击提交按钮时显示生成的链接?
  • 您的提交按钮是否调用函数goToPaget?它在您提供的来源中显示为这种方式,但我们看不到它。如果是这样的话,把它放在那个函数的末尾就行了。另一种方法是为 jQuery 中的按钮单击创建一个侦听器,我将其编辑到我的答案中。
  • 至于显示链接,我猜测并添加了代码以从包含链接的输出 div 中删除 hide 类。
  • 这对哥们没有帮助。无论如何,谢谢。
【解决方案3】:

也许你可以这样做:

<script>
$(document).ready(function(){
        $('#modalon').click(function() { 
            $.ajax({
            $('#imgloada4b').hide(); // hide old image
            var urload = "<?php bloginfo('template_url') ?>/img/loading.gif";
            $('#modal1Desc').html("<img href="/img/loading.gif" id='imgloada4b' src='"+urload+"'>"); // show new
            });
        });
});
</script>

很简单的解决方法,不是绝对好,但是解决方法,先把旧图片隐藏,再在图片的父元素中添加一张。

【讨论】:

  • 你的回答没有任何价值和相关性的哥们。
  • 这是一个例子,我不会写你需要的代码,我会告诉你如何修复它。我说使用 AJAX 显示您需要的项目,当您单击时,显示带有链接的项目。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-03
  • 2021-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多