2013-07-29 21 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>