Javascript / HTML Form alanı adlandırma sorunu

0 Cevap php

Aşağıdaki basit formu düşünün:

<form method="GET" action="handle.php">
  <input type="hidden" name="action" value="search">
</form>

Form gönderme ajax çağrısı Javascript (IUI) tarafından gerçekleştirilir. Tüm alanlar düzgün form toplanmıştır. Javascript ardından "form.action" ajax çağrısı göndermek istiyor.

Benim sorunum başladığı yerdir. Nesne form türü HTMLFormElement taşımaktadır. Formun action özellik türü dize olmak ve "handle.php" içermelidir gerekiyordu. Ayıklama birkaç saat sonra, ben Form.Action tipi HTMLInputElement şimdi fark ettim.

My question: Is this proper Javascript behavior? I would have never though that defining a form field with the name of a form attribute, this would happen. In the mean time I solved the issue by naming my field differently.

Herhangi bir tavsiye için şimdiden teşekkürler ...


Benim sorunum görüntüleme kolay bir yolu bulundu. Sorunu ile ilk form:

<form action="test.php">
    <input type="hidden" name="action" value="test">
    <input type="button" onclick="alert(this.form.action);">
</form>

Ve doğru olan formu:

<form action="test.php">
    <input type="hidden" name="NOT_AN_ATTRIBUTE_NAME" value="test">
    <input type="button" onclick="alert(this.form.action);">
</form>

Ikinci ilk olarak, açılan devletler "[nesne HTMLInputElement]", "http://localhost/test.php".

0 Cevap