在表单提交中返回false

时间:2015-02-04 09:58:49

标签: javascript forms

我有在表单提交上运行的功能。我注意到如果我使用return false,即使表单正在提交。但是,如果我删除它之前的功能,那么它工作正常。为什么我的create函数导致问题或为什么表单在完成执行之前提交。 fiddle

function abc(){
   create()     
return false;
}


function create(){
var myform = document.getElementsByTagName("form")[1];
if(myform.nextSibling.nodeName.indexOf('IMG')!=-1){
    myform.parentNode.removeChild(pixeldiv.nextSibling)
}
var id= Math.random().toString().split('.')[1];
var div = document.createElement('div');
    div.innerHTML='adadfsa'
    insertAfter(img,myform)
}

function insertAfter(newNode, referenceNode) {
    referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
}

2 个答案:

答案 0 :(得分:1)

已更正

var myform = document.getElementsByTagName("form")[0]//instead of [1]
...
insertAfter(div,myform)//instead of img

更新了小提琴:http://jsfiddle.net/tubmub2m/1/

答案 1 :(得分:0)

由于您的create函数中存在错误,因此无法从abc返回错误。

在您的小提琴中myformimg未定义会导致错误