Отправка формы с использованием динамически созданного JavaScript
Поэтому я пытаюсь отправить форму с 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>
и мой код Java-сценария выглядит следующим образом
document.observe("dom:loaded", function()
{
$("linkToProfile1").onclick=submitForm;
});
function submitForm()
{
$("searchResultProfileView1").submit();
}
но когда я пытаюсь сделать это, JavaScript выдает мне ошибку
searchResultProfileOpen.js:3Uncaught TypeError: Cannot set property 'onclick' of null
Опять же, эта форма была создана динамически, поэтому я предполагаю, что события javascript не могут должным образом прослушивать объект dom, который динамически создается с помощью php
3 ответа
Если вы динамически создаете форму, почему бы не попробовать указать onClick
в коде для HREF.
<a onClick="submitForm();" class="tabLinks" href="" id="linkToProfile1"><?=ucwords($row["firstname"])?> <?=ucwords($row["lastname"])?></a>
Таким образом, вы можете удалить document.observe()
,
Так должно быть $("#linkToProfile1").onclick=submitForm;
а также $("#searchResultProfileView1").submit();
не так ли?
Вы не создаете динамически форму. по крайней мере, не в соответствии с JavaScript. почему бы вам не попробовать просмотреть источник на вашей веб-странице и выяснить, почему форма пуста. вероятно ошибка php, пишущая HTML