Javascript中的表单无法正常工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript中的表单无法正常工作相关的知识,希望对你有一定的参考价值。

我使用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('
')));
$('.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;
};    

};

它似乎没有工作。感谢action =“member”并发送表单,而不是将我重定向到名为member的站点,它只是href =“#”,它停留在同一页面并且什么都不做。

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

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

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

你可以帮我解决错误吗?

答案

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

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

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

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

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

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

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

以上是关于Javascript中的表单无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

Javascript 表单无法正常工作

HTML 表单中的 onClick JavaScript 函数

带有复选框和自定义适配器的 ListView,片段无法正常工作

FragmentPagerAdapter在ViewPager中无法正常工作

Javascript 隐藏/显示元素无法正常工作

无法从 onListItemClick 开始片段