首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从表单中删除输入元素,该元素的值会导致网站崩溃。

从表单中删除输入元素,该元素的值会导致网站崩溃。
EN

Stack Overflow用户
提问于 2014-04-18 20:11:28
回答 1查看 613关注 0票数 1

我有一个表单,其中包括一系列的输入字段,我还用javascript动态地添加了这个表单的输入字段。我还试图用以下代码动态删除这些元素:

代码语言:javascript
复制
var catchMarkers = [];
var fishingtripMarker;
var catchIdCounter = 0;
function placeCatchMarker(position)
{
catchMarker = new google.maps.Marker({
    position: position,
    map: map,
    draggable: true,
    animation: google.maps.Animation.DROP
});
catchMarker.set("id", catchIdCounter);
AddCatchInput(catchIdCounter);
catchIdCounter++;
//Right click listener
markerListener = google.maps.event.addListener(catchMarker, 'rightclick', function(event) {
    //removing inputs from form
    var fish = document.getElementById('Fish'+this.get("id"));
    var weight = document.getElementById('Weight'+this.get("id"));
    fish.parentNode.removeChild(fish);
    weight.parentNode.removeChild(weight);

    //removing marker
    this.setMap(null);
    var index = catchMarkers.indexOf(this);
    catchMarkers.splice(index, 1);
});
catchMarkers.push(catchMarker);

}

我用以下代码创建了这些输入字段:

代码语言:javascript
复制
function AddCatchInput($id)
{
var container = document.getElementById("myform");
var select = document.createElement("select");
select.setAttribute("id", "Fish"+$id);
var option;
option = document.createElement("option");
option.setAttribute("value", "1");
option.innerHTML = "Trout";
select.appendChild(option);
var input = document.createElement("input");
input.id = "Weight" + $id;
container.appendChild(select);
container.appendChild(input);
}

所有操作都很好,直到我尝试删除这些输入字段时,任何表单输入字段都有值,然后站点崩溃,我不知道原因。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-19 00:15:37

这显然是一个与右键单击事件相关的错误(在chrome中)。

问题不在于输入有一个值,而是当您正确地单击标记crash demo:http://jsfiddle.net/doktormolle/57V72/时,当输入具有焦点时就会发生。

可能的解决方案:在右键触发之前将焦点从输入中移除,例如onmousedown:

代码语言:javascript
复制
google.maps.event.addListener(catchMarker, 'mousedown', function (event) {
    document.getElementById('Weight' + this.get("id")).blur();
});

演示无崩溃:http://jsfiddle.net/doktormolle/57V72/1/

你应该报告这个错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23161545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档