Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从提交函数提交时触发_Javascript_Php_Html_Submit_Onsubmit - Fatal编程技术网

Javascript 从提交函数提交时触发

Javascript 从提交函数提交时触发,javascript,php,html,submit,onsubmit,Javascript,Php,Html,Submit,Onsubmit,是否可以通过调用表单的onSubmit事件来触发它 function submitEdit(){ document.getElementById("edit").submit(); }; 这种方式不起作用 表格: 我做得对吗?我需要通过单击单选按钮提交此表单 echo '<td class="c3" style="color: #f79393"> <div class="radio">

是否可以通过调用表单的onSubmit事件来触发它

function submitEdit(){
    document.getElementById("edit").submit();
};
这种方式不起作用

表格:

我做得对吗?我需要通过单击单选按钮提交此表单

echo '<td class="c3" style="color: #f79393">
                                <div class="radio">
                                    <label><input type="radio" name="name_check" onclick="typeFlag=true; submitEdit();" class="c3" value="in" id="c3" '; if($flag) echo'checked'; echo '>in</label>
                                </div>
                              </td>';
echo'
在里面
';

谢谢大家!

表单上的手动“提交”功能不会触发“提交”事件,因此您必须触发它

函数提交它(){
var ele=document.getElementById('edit');
ele.submit();
var事件=新事件(“提交”{
“泡沫”:没错,
“可取消”:true
});
ele.dispatchEvent(事件);
}
提交它();
函数验证(){
console.log(“提交的表单”);
}

是否可以使用.submit()触发onSubmit?

不,这是不可能的,
validate()
函数永远不会被激发。从大约
submit()

直接调用此方法时,不会引发任何提交事件(在 特别是,表单的onsubmit事件处理程序未运行),并且 约束验证也不会触发


然后,由于在
中没有
操作
属性,因此在执行
document.getElementById(“编辑”).submit()时什么都没有发生。

Wbat可能重复“不工作”是指什么?会发生什么?您试图查找错误的原因是什么?页面正在刷新,但未发生任何情况。如何使用参数(flag,typeFlag)的onSubmit函数模拟提交表单?
echo'in'我是否以正确的方式调用它?当我将此代码插入我的php时,GoogleChrome
Uncaught TypeError中存在错误:无法在提交时读取null属性“submit”(calendar.php?date=01-07-2018&num=&date1=01-07-2018&but=Go:41)在calendar.php?date=01-07-2018&num=&date1=01-07-2018&but=Go:53
@Vanfen中,您必须将此代码放入(function(){paste over code here})();因为在对表单元素调用submit事件之前,表单元素可能不可用。或者首先,检查控制台中是否正在打印ele。错误表明无法使用该“编辑”id获取表单元素。您必须确保正在对表单元素调用submit函数。通过试验,它似乎可以提前提交表单。例如,如果我的处理程序弹出“确定/取消确认”对话框,则无论单击哪个按钮,都会在显示该对话框之前开始提交,并被提交。
window.flag=false;
var typeFlag;

    function validate(flag, typeFlag) { 
        if   ( (flag==true) && (typeFlag==true) ){
            document.getElementById("edit").setAttribute('target', '_self');
            document.getElementById("edit").action ="date.php";
        } else if ( (flag==true) && (typeFlag==false) ){
            document.getElementById("edit").setAttribute('target', '_blank');
            document.getElementById("edit").action ="date_PDF.php"; 
        } else
            alert("Select an aircraft");
    } 
echo '<td class="c3" style="color: #f79393">
                                <div class="radio">
                                    <label><input type="radio" name="name_check" onclick="typeFlag=true; submitEdit();" class="c3" value="in" id="c3" '; if($flag) echo'checked'; echo '>in</label>
                                </div>
                              </td>';