JavaScript ile form değişkenlerini almak

5 Cevap php

Ben o başa bir radyo düğmesi seçildiğinde, ben bu değer bir javascript işleve geçirilen olmak istiyorum (php yankılandı) aşağıdaki formu, var.

<form id=\"form1\" name=\"form1\" method=\"\" action=\"JavaScript:alterRecord()\">
<input name=\"radiobutton\" type=\"radio\" value=\"test1\" />Test 2<p>
<input name=\"radiobutton\" type=\"radio\" value=\"test2\" />Test 2<p>
<input name=\"radiobutton\" type=\"radio\" value=\"test3\" />Test 3<p>
<input name=\"radiobutton\" type=\"radio\" value=\"test4\" />Test 4
<input type=\"submit\" name=\"Submit\" value=\"Submit\" />
</form>

Ve JavaScript

function alterRecord(value) {
alert(value);
}

Ben formu teslim değerini elde etmek için javascript almak nasıl bulamıyor.

5 Cevap

Gönderdiğiniz üzerinde Javascript şey yapmak istiyorum, ama not, normal POST ya da böyle bir şey yapmak için emin olun, (boşaltmak için eski sayfası ve yüklemek için yeni bir sayfa neden olan) meydana GET isteği varsa :

<html>
  <head>
    <style type="text/css">
      body { background-color: black; color: white; }
    </style>
    <script type="text/javascript">
      function handleClick(event)
      {
        if (console) console.info("handling click");  
        // for Firebug debugging, if you want it

    /* do something here */
        alert(this.textBox1.value);
        // I don't like alerts but it works everywhere

        if (console) console.info("handled click");  

        event.preventDefault(); // disable normal form submit behavior
        return false; // prevent further bubbling of event
      }
      function doit()
      {
        if (console) console.info("starting doit()");
        document.forms.myform.addEventListener("submit", handleClick, true);
        return true;
      }
    </script>
  </head>
  <body onload="doit()">
    <form name="myform">
      <div>
          <textarea name="textBox1" rows="10" cols="80">
'Twas brillig, and the slithy toves
Did gyre and gimble in the wabe;
All mimsy were the borogoves,
And the mome raths outgrabe.
         </textarea>
      </div>
      <input type="submit" value="Update"/>
    </form>
  </body>
</html>

Hatları event.preventDefault() ve return false anahtardır. Ayrıca addEventListener yerine gibi şeklindeki bir onSubmit sabit kodlama. Stil / tercih meselesi sanırım. (AddEventListener yapar rağmen birden işleyicileri için izin verir.)

Başımın üstünden:

<form onSubmit="alterRecord">
  <input type="radio" id="radio1"/>
  ...
</form>

function alterRecord() {
  var radio1 = document.getElementById('radio1');
  alert(radio1.checked);
}

Bir radyo düğmesi tıklandığında javascript ateş istiyor musunuz? Veya form gönderildiğinde?

As mentioned, you can use onsubmit="alterRecord(this);" Then you can use commands such as

alert(this.radio1.checked);

siz de tüm radyo düğmeleri id eklerseniz ..

Ve her zaman yangın javascript için bir radyo düğmesi tıklandığında

<input type="radio" onclick="alterRecord(this);" ... />

Sonra "bu" komutu radyo düğmesi tıklandığında erişmek için izin verecek.

Eylem niteliği bir URL'ye işaret etmelidir. Eğer kullanıcı formu gönderdiğinde javascript şey yapmak istiyorsanız, onsubmit özniteliğini kullanın. Örneğin, onsubmit = "alert (42)".

Eğer onsubmit öznitelik içinde bir javascript yöntemini çağırın ve onu geçmek "Eğer bu" bir argüman olarak, form etiketi ve tüm ChildNodes erişim gerekecek ve irade çeşitli kontroller mevcut durumunu belirlemek mümkün olacak.

İlk olarak, jQuery kullanmaya başlayabilirsiniz.

Şimdi var o gidiyor, read the docs ve böyle bir şey yapmak için yeterince kolay olmalı:

$("input[name='radiobutton']").click(function() {
   // do stuff
});