我正在尝试使用JavaScript提交表单而不使用提交按钮并使用文本链接。但是,此表单是在PHP中动态创建的,如下所示:
<form action="profile.php" method="POST" id="searchResultProfileView1" enctype="multipart/form-data">
<div class="searchResultsFriendInfo">
<p><img class="searchResultsFriendImage" src="<?php print $row['ppPath'] ?>" alt="" ></p>
<p class="searchResultsFriendName"><a class="tabLinks" href="" id="linkToProfile1"><?=ucwords($row["firstname"])?> <?=ucwords($row["lastname"])?></a></p>
<input type="hidden" name="user_Id" value="<?php print $row["id"] ?>">
<p><input type="button" class="searchResultsConnect" value="Connect"></p>
</div>
</form>
我的JavaScript代码如下
document.observe("dom:loaded", function()
{
$("linkToProfile1").onclick=submitForm;
});
function submitForm()
{
$("searchResultProfileView1").submit();
}
但是当我尝试这样做时,JavaScript会给我一个错误:
searchResultProfileOpen.js:3Uncaught TypeError: Cannot set property 'onclick' of null
这个表单再次动态创建,所以我假设JavaScript事件无法正确监听使用PHP动态创建的dom对象。
答案 0 :(得分:1)
如果您是动态创建表单,为什么不尝试在href的代码中指定onClick
。
<a onClick="submitForm();" class="tabLinks" href="" id="linkToProfile1"><?=ucwords($row["firstname"])?> <?=ucwords($row["lastname"])?></a>
这样您就可以删除document.observe()
。
答案 1 :(得分:0)
您没有动态创建表单。至少不是根据javascript。为什么不尝试在网页上查看源代码并找出表单为空的原因。可能是编写html的php错误
答案 2 :(得分:0)
它应该是$("#linkToProfile1").onclick=submitForm;
和$("#searchResultProfileView1").submit();
,不是吗?