Javascript更改html表单的值

问题描述 投票:2回答:3

我开始使用filepicker来处理联系表单以上传文件。现在除了一件事,我已经有了这个部分。

这是上传文件的小javascript小部件:

<input type="filepicker" data-fp-apikey="------------------"
onchange="alert(event.fpfile.url)" >

现在警报显示上传文件的URL。

我的问题是:如何将此网址设置为文本字段中的值?

提前致谢

javascript html alert
3个回答
3
投票

替换输入标记的onchange值并添加用于显示输出的范围,如下所示

<input type="filepicker" data-fp-apikey="------------------"
onchange="displayValue(event)" />
    <span id="url"></span>

像这样添加一个javascript函数

function displayValue(event) {
 document.getElementById("url").innerHTML=event.fpfile.url; 
}

这将显示span元素内的URL值让我知道它是否有效


1
投票

首先,将您的javascript事件直接放在HTML标记上是一种非常糟糕的做法。我会把它们移到一个javascript文件中,加载到HTML页面的底部。

现在,这是您的解决方案:

var filePicker = document.getElementById( 'file-picker' ),
    fileUrl    = document.getElementById( 'file-url' );

filePicker.addEventListener( 'change', function ( e ) {
  // is fpfile a method that filepicker
  // is adding to events?
  fileUrl.value = 'hard coded string'; // e.fpfile.url;
});

var $filePicker = $( '#file-picker-jq' ),
    $fileUrl    = $( '#file-url-jq' );

$filePicker.on( 'change', function ( e ) {
  $fileUrl.val( 'hard coded url' /* e.fpfile.url */ );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>Using JavaScript</p>
<input type="file" data-fp-apikey="-------" id="file-picker">
<input type="text" id="file-url">

<p>Using jQuery</p>
<input type="file" data-fp-apikey="-------" id="file-picker-jq">
<input type="text" id="file-url-jq">

0
投票

如果您想将网址放在文本框中,请按照以下说明操作。

从上面的答案略有改变

添加文本框,如下所示

<input type="text" id="url" />

在Javascript中这样改变

function displayValue(event) {
     document.getElementById("url").value=event.fpfile.url; 
}
© www.soinside.com 2019 - 2024. All rights reserved.