[英]How to execute javascript that is obtained after form submit inside iframe
[英]Is it possible to submit the time that's obtained by javascript to a Form?
此按钮显示视频媒体的当前已用时间
<button name="test" onclick="alert(Math.floor(document.getElementById('video').currentTime) + 'secs elapsed!');">Show elapsed time</button>
这段经过的时间显然每秒都在变化。
是否可以将此经过的时间提交给表单?
如何自定义下面的代码?
<form action="/comments" method="post" >
<input type="text" name="comment[body]" size="50" />
<input type="hidden" name="comment[elapsed_time]" value="???????" />
<button type="submit" >Submit!</button>
</form>
您希望在提交表单之前使用jQuery设置值
$("form").submit(function(event) {
var video = $("#video"),
time = Math.floor(video.currentTime) + 'secs elapsed!');
$(this).find("input[name=comment\\[elapsed_time\\]").val(time);
});
如果您(可以)在输入中添加id
属性,则会更容易
<input type="hidden" name="comment[elapsed_time]" id="comment_elapsed_time">
那你的jQuery就变成了这个
$("form").submit(function(event) {
var video = $("#video"),
time = Math.floor(video.currentTime) + 'secs elapsed!');
$("#comment_elapsed_time").val(time);
});
HTML更改:
<form action="/comments" method="post" >
<input type="text" name="comment[body]" size="50" />
<input id="elapsed_time" type="hidden" name="comment[elapsed_time]" value="???????" />
<button type="submit" >Submit!</button>
</form>
JS:
$('button').on('click', function(){
$('#elapsed_time').val($('#video')[0].currentTime);
//now submit the form if you want tp
$('form').submit();
});
不使用jQuery,您可以将html更改为:
<form action="/comments" method="post" onsubmit="onFormSubmit()" >
<input type="text" name="comment[body]" size="50" />
<input type="hidden" name="comment[elapsed_time]" />
<button type="submit" >Submit!</button>
</form>
并在<head>
添加此JavaScript:
<script>
function onFormSubmit() {
var element = document.getElementsByName("comment[elapsed_time]")[0];
element.value = Math.floor(document.getElementById('video').currentTime);
return true;
}
</script>
在表单中添加一些id以便于操作,这是没有必要的。
<form action="/comments" method="post" >
<input type="text" name="comment[body]" size="50" />
<input id="elapsedTimeTextBox" type="hidden" name="comment[elapsed_time]" value="???????" />
<button id="submitButton" type="submit" >Submit!</button>
</form>
如果使用jQuery,请在提交按钮中挂钩事件
$('#submitButton').click (function () {
$('#elapsedTimeTextBox').val(Math.floor(document.getElementById('video').currentTime);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.