将页面上多个表单的javascript重写为jquery
我有一个关于一页上有多个相似表格的问题。假设您有一个包含两个或多个轮询的页面。它本身的HTML表单非常相似。以前,是用内联javascript构建的解决方案。这当然不是最好的解决办法。它的构建方式是每个轮询表单都有自己的js函数。 但这已经不是我想要的了 我如何重写脚本,使其知道提交了哪个表单 以下是目前的表格:将页面上多个表单的javascript重写为jquery,javascript,jquery,html,Javascript,Jquery,Html,我有一个关于一页上有多个相似表格的问题。假设您有一个包含两个或多个轮询的页面。它本身的HTML表单非常相似。以前,是用内联javascript构建的解决方案。这当然不是最好的解决办法。它的构建方式是每个轮询表单都有自己的js函数。 但这已经不是我想要的了 我如何重写脚本,使其知道提交了哪个表单 以下是目前的表格: <div style="display:block;"> <form name="pollvoteform3" method="post" xaction=
<div style="display:block;">
<form name="pollvoteform3" method="post" xaction="">
<input type="hidden" name="poll" value="3">
<input type="hidden" name="cmd" value="">
<div class="poll">
<div class="pollOption">
<div class="pollRadio"><input type="radio" name="poll_option3" value="1"></div>
<div class="pollOptionText">Option 1</div>
</div>
<div class="pollOption">
<div class="pollRadio"><input type="radio" name="poll_option3" value="2"></div>
<div class="pollOptionText">Option 2</div>
</div>
<p> <input type="button" name="bt_submit" class="pollButtonNormal" onmouseover="this.className='pollButtonHigh';" onmouseout="this.className='pollButtonNormal';" value="Stem" onclick="javascript:vote3();">
<input type="button" name="bt_submit" class="pollButtonNormal" onmouseover="this.className='pollButtonHigh';" onmouseout="this.className='pollButtonNormal';" value="Resultaten" onclick="javascript:viewResults3();"></p>
</div>
</form>
</div>
<div style="display:none;">
<form><input type="button" name="bt_submit" class="pollButtonNormal" onmouseover="this.className='pollButtonHigh';" onmouseout="this.className='pollButtonNormal';" value="Resultaten" onclick="javascript:viewResults3();"></form>
</div>
选择1
选择2
编辑:
我怎样才能重写这个:
function vote1() {
r=document.forms.pollfvoteform3.poll_option3
var voted=false;
if (r.value!=null && r.checked)
{
voted=true;
} else {
for (i=0;i<r.length;i++){
if (r[i].checked) {
voted=true;
break;
}
}
}
if (voted) {
document.forms.pollvoteform3.submit();
} else {
alert("Youre wrong!.");
}
}
函数vote1(){
r=document.forms.pollfvoteform3.poll_选项3
var=false;
if(r.value!=null&&r.checked)
{
投票=正确;
}否则{
对于(i=0;i,您需要为表单提供一个id和一个公共类:
<form name="form1" class="myforms" id="form1">
正如您所见,将其包装到jQuery包装集中可以很容易地为您提供特定表单的id。您需要为表单提供id和公共类:
<form name="form1" class="myforms" id="form1">
正如您所见,将其包装到jQuery包装集可以很容易地为您提供特定表单的id。这一行中的[0]是什么意思:formId=$(this)[0].id;这是一个DOM元素。$(this)是一个jQuery包装集。$(this).get(0)或$(this)[0]返回一个DOM元素。您当然可以使用this.id,但使用$(this)您可以使用方便的jQuery函数,如$(this).attr(“name”)来读取属性。这是否意味着您要获取id为“0”的表单?很抱歉造成混淆。您可以获取与this.id一起提交的表单的id。如果您要创建jQuery包装集,请使用$(this)。您可以忽略$(this)[0]。这将获取包装集的第一个DOM元素。由于$(This)只有一个元素,它将返回正在提交的表单。它与表单的id无关。此行中的[0]是什么意思:formId=$(This)[0]。id;这是一个DOM元素。$(This)是一个jQuery包装集。$(This)。get(0)或$(This)[0]返回一个DOM元素。您当然可以使用this.id,但使用$(this)可以使用方便的jQuery函数,如$(this.attr(“name”)读取属性。这是否意味着您要获取id为“0”的表单?很抱歉造成混淆。您可以获取与此.id一起提交的表单的id。如果要创建jQuery包装集,请使用$(this)。您可以忽略$(this)[0]。这将获取包装集的第一个DOM元素。作为$(this)只有一个元素,它返回正在提交的表单。它与表单的id无关。