Как отправить форму с JavaScript, которая была создана динамически? - PullRequest
0 голосов
/ 10 сентября 2011

Я пытаюсь отправить форму с помощью 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 не могут должным образом прослушивать объект dom, который динамически создается с помощью PHP.

Ответы [ 3 ]

1 голос
/ 10 сентября 2011

Если вы динамически создаете форму, почему бы не попробовать указать onClick в коде для href.

<a onClick="submitForm();" class="tabLinks" href="" id="linkToProfile1"><?=ucwords($row["firstname"])?> <?=ucwords($row["lastname"])?></a>

Таким образом, вы можете удалить document.observe().

0 голосов
/ 10 сентября 2011

Это должно быть $("#linkToProfile1").onclick=submitForm; и $("#searchResultProfileView1").submit();, не так ли?

0 голосов
/ 10 сентября 2011

Вы не создаете динамически форму.по крайней мере, не в соответствии с JavaScript.почему бы вам не попробовать просмотреть исходный код на своей веб-странице и выяснить, почему форма пуста.вероятно ошибка php при записи html

...