使用输入表单中的数据在网页中生成并打印网址

时间:2016-12-15 11:21:16

标签: javascript html

我需要构建一个由用户从两个输入字段生成的URL,将最终的url写在同一个文档中(而不是在new.window中加载url)。

我来自this question。我没有像在jsfiddle中那样打开一个新窗口,而是试图打印在窗体下面生成的url,之前没有url文本,单击"生成"。我尝试过使用serialize(),但没有使用答案中使用的实际代码。

这是一个不起作用的例子:http://jsfiddle.net/qo027nqd/

HTML

<input id="one"> <input id="two">
<button id="open">Generate</button>
<br /><br />
<b>URL generated prints here, this text is hidden until you click "Generate"</b>

JAVASCRIPT

$('#open').click(function() {
var fixedData1 = 'http://www.myurl.com/#q=',
    fixedData2 = '+',
    userEntry1 = $('#one').val(),
    userEntry2 = $('#two').val();

var newWindow = window.open(fixedData1 + userEntry1 + fixedData2 + userEntry2, '_blank');
newWindow.focus();
});

在这个javascript代码中,我需要更改&#34; var newWindow &#34;与&#34; document.getElement &#34;,&#34; insertText &#34;或者有用的东西。

提前致谢!

4 个答案:

答案 0 :(得分:1)

简单的解决方案,您只需发短信。 你需要一些你可以用JQuery命中的东西,这就是为什么我添加了跨度。这也可以是div或其他内容。

<强> HTML

<input id="one"> <input id="two">
<button id="open">Open</button>
<br />
<span id="result"></span>

javascript

$('#open').click(function() {

        userEntry1 = $('#one').val(),
        userEntry2 = $('#two').val();
$('#result').text(userEntry1 + userEntry2);

});

需要在代码中添加jQuery。这是一个工作示例: https://jsfiddle.net/Laj8ogbp/

答案 1 :(得分:1)

这是您更新的小提琴:http://jsfiddle.net/b60bunyL/

HTML

<input id="one"> <input id="two">
<button id="open">Open</button>
<br />
<span id="result"></span>

JS

$('#open').click(function() {
    var fixedData1 = 'http://www.google.com/#q=',
        fixedData2 = '+',
        userEntry1 = $('#one').val(),
        userEntry2 = $('#two').val();

    var result = $('#result');
    result.text(fixedData1 + userEntry1 + fixedData2 + userEntry2);

});

答案 2 :(得分:1)

在此更新了您的小提琴以查看结果http://jsfiddle.net/qo027nqd/3/

HTML -

<input id="one"> <input id="two">
<button id="open">Open</button>
<br />
<p class = 'displayurl'>

</p>

JS -

$('#open').click(function() {
    var fixedData1 = 'http://www.google.com/#q=',
        fixedData2 = '+',
        userEntry1 = $('#one').val(),
        userEntry2 = $('#two').val();

    var newWindow = fixedData1 + userEntry1 + fixedData2 + userEntry2;

    $('.displayurl').append( "<p>"+ newWindow +"</p>" );
});

要解决您的问题,我在HTML中创建了一个名为“displayurl”的空<p>位置,我希望javascript输出变量。

然后我进入javascript并删除window.open以允许变量将其他变量连接成一个,然后我使用jQuery选择器选择'.displayurl'我创建的空白位置,我附加(通过.append())新的<p>标记,用于在开始和结束标记之间打印变量。

答案 3 :(得分:0)

<强> HTML

$('#open').click(function() {
    var fixedData1 = 'http://www.google.com/#q=',
        fixedData2 = '+',
        userEntry1 = $('#one').val(),
        userEntry2 = $('#two').val();
    var urlStr = fixedData1 + userEntry1 + fixedData2 + userEntry2;
    $("#urlStr").html(urlStr);
});

<强>的Javascript

WebSocketClient