Javascript中的表单无法正常工作

时间:2015-06-14 00:58:47

标签: javascript forms html-table

我使用Javascript来显示一个带有可点击链接的菜单框,但我改变了主意,现在想要使用链接作为表单。

<script type="text/javascript">    
    $('.mouseon-examples div').data('powertipjq', $( [
    '<table class="tabulkajazyku"><form id="myformen" action="member" method="POST"><input type="hidden" name="jazyk" value="en"><tr><td><a class="odkaz_cerveny odkaz_cerveny_block" href="#" id="mylinken"><img src="/images/flag_en.jpg" class="vlajky"><div class="posun5">EN</div></a></td></tr></form><form id="myformes" action="member" method="POST"><input type="hidden" name="jazyk" value="es"><tr><td><a class="odkaz_cerveny odkaz_cerveny_block" href="#" id="mylinkes"><img src="/images/flag_es.jpg" class="vlajky"><div class="posun5">ES</div></a>&nbsp;</td></tr></form></table>'
    ].join('\n')));
$('.mouseon-examples div').powerTip({
    placement: 's',
    mouseOnToPopup: true
}); 
    </script>

为了开始表单工作,我需要这段代码

<script type="text/javascript"> 
    window.onload = function() {
document.getElementById('mylinken').onclick = function() {
    document.getElementById('myformen').submit();
    return false;
}; 
document.getElementById('mylinkes').onclick = function() {
    document.getElementById('myformes').submit();
    return false;
};    

};

它似乎不起作用。由于操作=&#34;成员&#34; 并发送表单,我没有将我重定向到名为成员的网站,而只是 href =&#34 ;#&#34; ,它停留在同一页面,什么都不做。

老实说,我不需要将表单作为可点击链接,但是简单的文本不起作用。我只需要从表中的每一行(tr)表现为一种形式。

按照经验法则,我是Javascript的初学者。

我在另一个页面上使用了Table部分(不是在任何Javascript代码中,一切正常)。

你可以帮我解决错误吗?

2 个答案:

答案 0 :(得分:0)

不使用onload,而是使用document.ready而不是onclick使用jquery click处理程序并调用e.preventDefault();

https://api.jquery.com/click/

编辑: (对不起,我在手机上写了以上内容,编写代码太难了,以下是代码:

<script type="text/javascript">
    $(document).ready(function () {
        $('#mylinken, #mylinkes').click(function(e) {
            e.preventDefault();
            $('#myformen').submit();
        });
    });
</script>

答案 1 :(得分:0)

点击事件不会绑定到元素,因为代码运行时元素不存在。在用户显示工具提示之前,元素将不存在。

您可以在jQuery中使用委托事件将事件绑定到现有父元素,并查找冒泡到它的事件。这样,事件可以绑定到尚不存在的元素:

$(function() {
  $(document).on('click', '#mylinken', function(e) {
    e.preventDefault();
    $('#myformen').submit();
  }); 
  $(document).on('click', '#mylinkes', function(e) {
    e.preventDefault();
    $('#myformes').submit();
  });
});