2016-04-12 20 views
2

eklerseniz İstediğim kadar çok yazar ekleyebileceğim dinamik bir form oluşturdum.insertBefore formda çalışmayı durdurur div ı

<form action="uploadtodb.php" target="dummyframe" method="post" name="myform"> 
      <p> 
      Authors last name:  <input type="text" name="authorln[]" size="32" /> 
      Authors first names: <input type="text" name="authorfns[]" size="32" /> 
      </p> 
      <p id="add_author_button"> 
      <button type="button" onclick="add_author()">Add new author</button> 
      <button type="button" onclick="remove_author()">Remove last author</button> 
      </p> 
</form> 

fonksiyon add_author() MyForm yeni paragraf para Mükemmel çalışıyor

document.myform.insertBefore(para, document.getElementById("add_author_button")); 

olarak aşağıda belirtilen, ancak sonra buna bazı stilleri eklemek istedim ekler nerede. Bu yüzden ekledim:

Bu tür değişikliklerden sonra yanıt vermeyin.

+0

Neden bir sınıf veya bir kimlik ekleyerek formun stilini oluşturmuyorsunuz? Formu bir kapsayıcı olarak ele alabilirsiniz. – Erick

+0

@Erick Formu farklı stillere ayırmaya karar verdim. Soru için sadece yazarlar çıkardım. –

+0

'para' artık 'myform'un bir çocuğu değil,' document.myform.insertBefore' artık beklediğiniz gibi çalışmayabilir. – RJM

cevap

2

Formlar için document.<form name>'u kullanabilmenize rağmen, yazarlarınız div gibi rasgele öğeler için bunu yapamazsınız. Neden sadece getElementById() kullanıyorsunuz?

document.getElementById("authors").insertBefore(para, document.getElementById("add_author_button")); 
+0

Mükemmel çalışıyor. Bu belgeden 'document.getElementById (' yazarlar '). (...) 'ın' myform 'da olması gerektiğini unutabilirdim, ama kontrol ettim ve her şey sunucuya yükledim. –

İlgili konular