我使用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> </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代码中,一切正常)。
你可以帮我解决错误吗?
答案 0 :(得分:0)
不使用onload,而是使用document.ready而不是onclick使用jquery click处理程序并调用e.preventDefault();
编辑: (对不起,我在手机上写了以上内容,编写代码太难了,以下是代码:
<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();
});
});