图像出现,然后在提交时消失
Image appears then disappears when submitted
我有一个接受图像网址的输入框,当单击提交按钮时,网址由javascript函数获取,该函数更新页面上的画布和图像对象。
图像定位良好,它出现在图像对象和画布对象中,但不久之后就消失了。
<canvas id = "edit_canvas" width = "600" height = "600"></canvas>
<img src= "images/placeholder.png" alt="Image Cannot Be Displayed" id = "edit_pic">
<form onsubmit = "submitImage()">
Custom Picture: <input type="url" name="pic_url" id ="input_url"><br>
<input type="submit">
</form>
<script type="text/javascript">
function submitImage(){
var img = new Image();
var url = document.getElementById("input_url").value;
img.src = url;
img.onload = function(){
alert("img has loaded");
updateCanvas(img);
document.getElementById("edit_pic").src = url;
};
}
function updateCanvas(img){
alert("updateCanvas called");
var c =document.getElementById("edit_canvas");
var ctx=c.getContext("2d");
ctx.drawImage(img,0,0);
}
</script>
我在其他地方使用了updateCanvas()函数,在那里它工作正常并且图像保持不变。javascript 函数中的两个警报都按预期显示,但图像不会保留在画布/图像对象中。
您正在提交表单,这涉及重新加载页面,所以我想它会简要显示图像,然后重新加载,清空画布。
使用按钮上的onclick
而不是表单上的onsubmit
以避免重新加载,并通过从input type="submit"
更改为button type="button"
使按钮不提交表单:
<button type="button" onclick="submitImage()">Submit</button>
您可以阻止表单的提交操作或更改输入类型按钮并将提交图像功能附加到按钮的点击事件,并从表单提交中删除提交图像
{代码}
function submitImage(){
var img = new Image();
var url = document.getElementById("input_url").value;
img.src = url;
img.onload = function(){
alert("img has loaded");
updateCanvas(img);
document.getElementById("edit_pic").src = url;
};
return false;
}
{代码}
相关文章:
- 同一页面上的多个验证码在提交失败时消失
- 防止联系人表单在提交后消失
- 单击提交按钮后,答案逐渐消失
- 单击“提交按钮”后,文本会迅速消失
- 表单“提交”按钮文本(和宽度/高度/值)在按键时消失或更改BTN值
- 如果我多次单击提交按钮,下拉值就会消失
- 如何使按钮(输入类型=“提交”)在单击时消失
- 如果 ID 消失,提交按钮工作
- 如何使表单标签在单击“提交”后消失
- 图像出现,然后在提交时消失
- 提交时跨度消失
- 为什么缩进从我的网站上的用户提交中消失
- 附件李在提交表格后消失
- 如何提交一份特定的表格,而不让两者的内容都消失
- jQuery Validator无效输入字段在成功提交后消失
- 访问cookie时,提交按钮消失
- 包含注册表单的Div在我单击提交后消失
- 提交按钮在禁用ng后不会消失
- Jquery jqwidgets列表框消失时,提交按钮点击
- 当点击表单A的提交按钮时,表单A应该会消失,而在它的位置,表单B应该会出现