使用JavaScript提交HTML表单

使用JavaScript提交HTML表单,javascript,php,html,Javascript,Php,Html,我想有一个按钮来提交表单,但它似乎不起作用。单击按钮时,不会发生任何事情 HTML PHP 您的函数错误 document.getElementById(“任务选项”).submit()//这是错误的 taskOption它是选择框的id,而不是表单的id <form name="F1">// give a name to your form ..... </form> function FormSubmit() { document

我想有一个按钮来提交表单,但它似乎不起作用。单击按钮时,不会发生任何事情

HTML

PHP


您的函数错误

document.getElementById(“任务选项”).submit()//这是错误的

taskOption
它是选择框的id,而不是表单的id

<form name="F1">// give a name to your form
    .....
</form> 

   function FormSubmit() {     

    document.F1.submit();
    }
//为表单命名
.....
函数FormSubmit(){
document.F1.submit();
}

//为表单提供一个id
.....
函数FormSubmit(){
document.getElementById('formid').submit();
}

您必须编写表单的id,例如而不是以下内容:

<form method="post" action="process.php" id="taskOption2">
                <select name="taskOption" >
                <option value="Select">Please select a site</option>
                <option value="http://www.Itslearning.com">Itslearning</option>
                <option value="http://www.NDLA.no">NDLA</option>
            </select>
    </form>

请选择一个站点
它的学习
NDLA
使用:

Javascript:

function FormSubmit() {
  document.taskform.submit();
}
HTML:


请选择一个站点
它的学习
NDLA
带我去那里

首先,您在此处为表单指定了一个名称,form1是名称 然后单击调用表单

   <form method="post" name="form1" action="process.php">
           <select name="taskOption" id="taskOption2">
            <option value="Select">Please select a site</option>
            <option value="http://www.Itslearning.com">Itslearning</option>
            <option value="http://www.NDLA.no">NDLA</option>
           </select>
        </form>

        <button onclick="FormSubmit()" class="button button1 button1:hover">Take me there</button>


    function FormSubmit() {
    document.form1.submit();
    }

请选择一个站点
它的学习
NDLA
带我去那里
函数FormSubmit(){
文件。表格1。提交();
}

在我看来,您只需要表单中的提交按钮:

在这种情况下,到目前为止最简单的解决方案是将
移动到表单标记内部,并使其
type=“submit”
。根本不需要Javascript:

<form method="post" action="process.php">
   <select name="taskOption" id="taskOption2">
        <option value="Select">Please select a site</option>
        <option value="http://www.Itslearning.com">Itslearning</option>
        <option value="http://www.NDLA.no">NDLA</option>
   </select>
    <button type="submit" class="button button1 button1:hover">Take me there</button>
</form>

请选择一个站点
它的学习
NDLA
带我去那里
试试这个

  function submitMyForm()
  {   
    alert("Test");
    document.getElementById("myForm").submit();
  }

请选择一个站点
它的学习
NDLA
现在是什么时候?

它将不起作用,因为您忘记在表单中添加id,并且正在对id为
taskOption
的表单调用submit函数

 <form method="post" action="process.php">

表单标记中没有id,请将id添加为:

 <form method="post" action="process.php" id="taskOption">

您错误地调用了submit,只有表单id或元素才能使用
submit()
。所以首先调用表单元素

function FormSubmit() {
document.getElementById("taskOption2").parentNode.submit(); //must call id not name (parentNode is getting for parent form element)
}
在您的php中,您使用select id进行了错误的访问,正确的方法是通过
元素名称进行访问

$option = isset($_POST['taskOption']) ? $_POST['taskOption'] : false; //element name is valid call

看起来应该可以,但唯一发生的事情就是弹出警报。。没有其他内容..弹出警报意味着您的按钮单击事件工作正常。。下一步是提交表格。。你有什么错误吗?使用它会将我重定向到写着“Venligst velg en side”的站点。它不会将我重定向到我想要的某个站点。我将“id”放在“选择”中。。修好后,按钮仍然不起作用。。现在它将我重定向到当我不选择任何内容时应该显示的页面。oyu到底想做什么?提交仅在表单上调用。
  function submitMyForm()
  {   
    alert("Test");
    document.getElementById("myForm").submit();
  }
 <form method="post" action="process.php">
 <form method="post" action="process.php" id="taskOption">
function FormSubmit() {
document.getElementById("taskOption2").parentNode.submit(); //must call id not name (parentNode is getting for parent form element)
}
$option = isset($_POST['taskOption']) ? $_POST['taskOption'] : false; //element name is valid call