2013-07-29 27 views
2

我有一个javascript函数的问题,它设置div的.innerHTML。 应该出现在div中的HTML代码是一种形式。 在我测试了它自己的形式之前(没有JavaScript),它的工作原理。它将信息发送到请求的页面。Javascript |按钮不是用.innerHTML提交表单

但是当我用.innerHTML将窗体显示在div中时,表单的布局工作正常,但按钮没有提交窗体。它什么都不做。

希望你能帮助我。我刚开始得到一些JavaScript在我的脑海:-)

function reactieID(a,b,c,d){ 
document.getElementById('myModal').innerHTML= ('<form name="getTheInfo" method="post" action="actionpage.php">'); 
document.getElementById('myModal').innerHTML+=('<div class="subtitel">Reactie</div>'); 
document.getElementById('myModal').innerHTML+=('<input hidden="hidden" name="a" type="text" value="'+a+'" />'); 
document.getElementById('myModal').innerHTML+=('<input hidden="hidden" name="b" type="text" value="'+b+'" />'); 
document.getElementById('myModal').innerHTML+=('<input hidden="hidden" name="c" type="text" value="'+c+'" />'); 
document.getElementById('myModal').innerHTML+=('<input hidden="hidden" name="d" type="text" value="'+d+'" />'); 
document.getElementById('myModal').innerHTML+=('<input size="80" name="reactie" type="text" class="textfield" />'); 
document.getElementById('myModal').innerHTML+=('<input type="submit" value="Toevoegen" />'); 
document.getElementById('myModal').innerHTML+=('</form>'); 
document.getElementById('myModal').innerHTML+=('<a class="close-reveal-modal">&#215;</a>');} 

更新: 我已经尝试按钮onclick="this.form.submit()"线中添加,但没有工作,要么:-(


问题解决了!(感谢FrostbiteXIII的帮助下)


+0

哪里有事件? –

回答

1

它的形式标签,它不喜欢 - 如果你把这些放在第一位,我怀疑它会起作用。 :)

例如:

<html> 
<head> 
<script> 
function reactieID(a,b,c,d){ 
    document.getElementById('myModal').innerHTML+=('<div class="subtitel">Reactie</div>'); 
    document.getElementById('myModal').innerHTML+=('<input hidden="hidden" name="a" type="text" value="'+a+'" />'); 
    document.getElementById('myModal').innerHTML+=('<input hidden="hidden" name="b" type="text" value="'+b+'" />'); 
    document.getElementById('myModal').innerHTML+=('<input hidden="hidden" name="c" type="text" value="'+c+'" />'); 
    document.getElementById('myModal').innerHTML+=('<input hidden="hidden" name="d" type="text" value="'+d+'" />'); 
    document.getElementById('myModal').innerHTML+=('<input size="80" name="reactie" type="text" class="textfield" />'); 
    document.getElementById('myModal').innerHTML+=('<input type="submit" value="Toevoegen" />'); 
    document.getElementById('myModal').innerHTML+=('<a class="close-reveal-modal">&#215;</a>'); 
} 
</script> 
</head> 
<body onload="reactieID('a','b','c','d')"> 
<form name="getTheInfo" method="post" action="actionpage.php"> 
    <div id='myModal'></div> 
</form> 
</body> 
</html> 

编辑:你甚至可以指定表单标签第一:

<form name="getTheInfo" id="getTheInfo" method="post" action=""> 

,然后添加JS到你上面的函数来指定要采取的行动,并这仍然工作正常:

document.getElementById('getTheInfo').action = "actionpage.php"; 
0

提供一个jQuery方法,将提交按钮与事件,索姆就像这样:

<script> 
$(document).on('click', 'input[type="submit"]', function(){ 
var self = $(this); 
self.closest('form').submit(); 

}); 
</script>