<!DOCTYPE HTML>
<html>
 <head>
  <title>Forms</title>
  <script src="../../resources/testharness.js"></script>
  <script src="../../resources/testharnessreport.js"></script>
 </head>
 <body>
  <p>
    <h3>Form_action</h3>
  </p>
  
  <hr>

  <div id="log"></div>

  <form method="post"
      enctype="application/x-www-form-urlencoded"
      action="http://www.google.com/"
      id="input_form">
  <p><input type=hidden name="custname"></p>
  <p><input type=hidden name="custtel"></p>
  <p><input type=hidden name="custemail"></p>
 
  </form>
  <script>

    var form = document.getElementById("input_form");

    if (typeof(form.action) == "string") {
      test(function() {
        assert_equals(form.action, "http://www.google.com/", "action attribute is not correct.");
      });
    } else {
      test(function() {
        assert_unreached("action attribute is not exist.");
      });
    }

  </script>

 </body>
</html>