在混乱之前
我曾经有过这个...
在头部
<script type="text/javascript">$(function() { $("form.openid:eq(0)").openid(); });</script>
var direct = function () {
var $li = $(this);
$this.unbind('submit').submit(function() {
$id.val($this.find("li.highlight span").text());
});
$this.submit();
return false;
};
并在身体部位
<form class="openid" method="post" action="/Login.xhtml?ReturnUrl=">
<div>
<ul class="providers">
<li class="direct" title="Google"> <img src="images/googleW.png" alt="icon" />
</ul>
</div>
</form>
就像魅力一样。
混乱之后
现在,因为我想在ASP.NET页面中添加以上内容作为内容,我做了相应的更改
在MasterPage的头部
<script type="text/javascript">$(function () { $("#test.openidd").openid(); });</script>
在正文部分,我添加了id=test
的div和等于openidd
的等级。
<div id ="test" class="openidd">
<ul class="providers">
<li class="direct" title="Google"> <img src="images/google.png" />
</ul>
</div>
那么我应该对jquery.openid.js
进行哪些更改才能使其正常工作?
我的意思是在第一种情况下$this
引用form.openid:eq(0)
在第二种情况下,$this
引用#text.openidd
,表单永远不会提交。
我想JQUERY中存在类似$this.FindParentForm
的内容,但我不知道!
请保持您的答案尽可能简单,因为我是新手
提前谢谢。
更新
从我到目前为止看到的答案,我猜或我没有明确我的问题或我是soooo新手。我添加了div标签作为元素的外壳。该表单包含jquery混淆的其他<li>
等。我不喜欢那样!这就是为什么在我的帖子中我相信这项工作必须在jquery.openid.js
文件中完成...类似
$this.GETParentFORM.unbind('submit').submit(function() {
$id.val($this.GETParentFORM.find("li.highlight span").text());
});
$this.GETParentFORM.submit();
答案 0 :(得分:1)
使用jQuery在ASP.NET中要注意的一点是,任何具有runat="server"
的控件都将具有基于原始ID的自动生成的ID。只是说,特别是如果你打算通过jQuery选择ID。
据说,据说,任何ASP.NET页面中都只有一个表单(位于MasterPage上的表单)。因此,要选择它,您实际需要做的就是去
$('form')
但如果你想走你的路,我会用
$('#test.openidd').closest('form')
答案 1 :(得分:0)
您可以将其更改为:
<script type="text/javascript">$(function () { $("#test.openidd").parents('form').openid(); });</script>
虽然我觉得最好给你的表单一个像:
<form id="submitForm5" ...>
然后将javascript代码更改为:
<script type="text/javascript">$(function () { $("#submitForm5").openid(); });</script>
答案 2 :(得分:0)
也许试试这个?
$("#test.openidd").parent().openid();
答案 3 :(得分:0)
$('form').find('li.highlight span').text();
IE
$('form').unbind('submit').submit(function() {
$id.val($('form').find("li.highlight span").text());
});
$('form').submit();
答案 4 :(得分:0)
由于ASP.NET会修改表单的ID,因此您仍然可以使用最近来获取表单元素。在此代码中,您将获得名为 form 的 test.openidd 最近的elemet,它将成为表单本身。
$('#test.openidd').closest('form').unbind('submit').submit(function() {
$id.val($('#test.openidd').closest('form').find("li.highlight span").text());
});
$('#test.openidd').closest('form').submit();
答案 5 :(得分:0)