Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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 按钮赢了';使用ajax返回表单后无法工作_Javascript_Php_Jquery_Ajax_Forms - Fatal编程技术网

Javascript 按钮赢了';使用ajax返回表单后无法工作

Javascript 按钮赢了';使用ajax返回表单后无法工作,javascript,php,jquery,ajax,forms,Javascript,Php,Jquery,Ajax,Forms,我正在基于一些下拉菜单通过ajax显示一个表单。用户可以在一个下拉列表中选择类,在另一个下拉列表中选择主题,从而返回该类学生的列表 这是以一种类似表单的方式形成的,允许用户输入学生所学科目的分数。这是用户选择其首选项后表单的外观: 我想当保存按钮是点击和用户输入分数后,它应该被发送到数据库问题是:因为我每次单击按钮都会通过ajax返回记录。对于基本测试,我尝试在单击按钮时显示一个javascript警报并将消息记录到控制台,但在尝试时什么都没有发生 这就是我的代码的外观:(脚本) $(文档)

我正在基于一些下拉菜单通过ajax显示一个表单。用户可以在一个下拉列表中选择,在另一个下拉列表中选择主题,从而返回该类学生的列表

这是以一种类似表单的方式形成的,允许用户输入学生所学科目的分数。这是用户选择其首选项后表单的外观:

我想当保存按钮是点击和用户输入分数后,它应该被发送到数据库问题是:因为我每次单击按钮都会通过ajax返回记录。对于基本测试,我尝试在单击按钮时显示一个javascript警报并将消息记录到控制台,但在尝试时什么都没有发生

这就是我的代码的外观:(脚本)


$(文档).ready(函数(){
$('#subject_id')。on('change',function(){
var subject_id=$('#subject_id').val();
var class_id=$('#class_id').val();
var term=$('#term').val();
如果(受试者id!=''类别id!=''){
$.ajax({
url:“includes/ajax/read\u student\u score\u form.php”,
方法:“张贴”,
数据:{“subject”:subject\u id,“class”:class\u id,“term”:term},
数据类型:“文本”,
成功:功能(数据){
$(“#结果”).html(数据);
}
});
}否则{
$(“#结果”).html(“”);
}   
}); 
$('#class_id')。在('change',function()上{
var subject_id=$('#subject_id').val();
var class_id=$('#class_id').val();
var term=$('#term').val();
如果(受试者id!=''类别id!=''){
$.ajax({
url:“includes/ajax/read\u student\u score\u form.php”,
方法:“张贴”,
数据:{“subject”:subject\u id,“class”:class\u id,“term”:term},
数据类型:“文本”,
成功:功能(数据){
$(“#结果”).html(数据);
}
});
}否则{
$(“#结果”).html(“”);
}   
});
$('#term')。on('change',function(){
/*对事件采取行动*/
var subject_id=$('#subject_id').val();
var class_id=$('#class_id').val();
var term=$('#term').val();
如果(受试者id!=''类别id!=''){
$.ajax({
url:“includes/ajax/read\u student\u score\u form.php”,
方法:“张贴”,
数据:{“subject”:subject\u id,“class”:class\u id,“term”:term},
数据类型:“文本”,
成功:功能(数据){
$(“#结果”).html(数据);
}
});
}否则{
$(“#结果”).html(“”);
}   
}); 
//测试在这里完成
$(文档)。在('submit','st#u score_form',函数(事件){
event.preventDefault();
//这就是我测试按钮是否工作的地方
警报(“按钮点击”);
控制台日志(“按钮点击”);
});
});
这是返回表单的文件(includes/ajax/read\u student\u score\u form.php)

if(mysqli\u num\u行($result)>0){
#代码。。。
$output.='定期报告';
$output.='
主题
“.$subject[“subject_name”]”
等级
“.$class['class_name']”
时期
“.$period。”
';
$output.='';
$output.='
学生
分数
操作
';
$output.='';
while($row=mysqli\u fetch\u数组($result)){
#代码。。。
$output.='';
//将要发送的未看到的post值
$output.='';
$output.='';
$output.='';
$output.='';
$output.='';
$output.='';
//--未看到的post值的结束
$output.='';
$output.=''.$row[“first_name”]。'.substr($row[“middle_name”]、0、1)。“$row[“姓氏”]”;
$output.='';
$output.='';
$output.='';
$output.='';
$output.='';
$output.='';
}
$output.='';
$output.='';
$output.='';
echo$输出;
}否则{
回显“未找到数据”;
}

我愿意接受反馈意见和建议,以帮助我实现这一目标。谢谢

JS生成的DOM元素不再由代码触发。您必须创建一个文档事件,以便JS生成的DOM元素能够正常运行

$(document).on('event','selector',callback_function)
**编辑**

也许我会给你一个小例子,我打算如何写你的代码。您遇到的问题是,如果您使用JS/jQ创建一个元素,那么您的DOM已经用javascript/jquery代码进行了解析,并且它无法识别您新创建的DOM

这很好:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<script type="text/javascript">
$(document).ready(function() {

    $(document).on('click', '#st_score_form', function(event) {
        event.preventDefault();
        alert("Button click");
    });

    $('body').append('<button id="st_score_form">Testbtn</button>');
});
</script>

<html>
<head></head>
<body>
    No content
</body>
</html>

$(文档).ready(函数(){
$(文档)。在('click','st#u score_form',函数(事件){
event.preventDefault();
警报(“按钮点击”);
});
$('body').append('Testbtn');
});
没有内容
这不起作用

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<script type="text/javascript">
$(document).ready(function() {

    $('#st_score_form').click(function(event) {
        event.preventDefault();
        alert("Button click");
    });

    $('body').append('<button id="st_score_form">Testbtn</button>');
});
</script>

<html>
<head></head>
<body>
    No content
</body>
</html>

$(文档).ready(函数(){
$(“#st#U分数形式”)。单击(函数(事件){
event.preventDefault();
警报(“按钮点击”);
});
$('body').append('Testbtn');
});
没有内容
在您的
$(文档)中。准备好了吗
您有语法错误,是由于复制代码造成的还是您错过的错误?有一个额外的
})@Lixus谢谢这是f
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<script type="text/javascript">
$(document).ready(function() {

    $(document).on('click', '#st_score_form', function(event) {
        event.preventDefault();
        alert("Button click");
    });

    $('body').append('<button id="st_score_form">Testbtn</button>');
});
</script>

<html>
<head></head>
<body>
    No content
</body>
</html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<script type="text/javascript">
$(document).ready(function() {

    $('#st_score_form').click(function(event) {
        event.preventDefault();
        alert("Button click");
    });

    $('body').append('<button id="st_score_form">Testbtn</button>');
});
</script>

<html>
<head></head>
<body>
    No content
</body>
</html>