removeProp清除MySQL INSERT

时间:2017-01-06 13:25:24

标签: javascript php html mysql

我正在为我所在的学校建立一个GCSE选择网站,但我遇到了一个问题。

我有6个选择框,每个选项框有16个选项。

一旦选择了6个框,客户端点击提交,然后将信息提交给我们的MySQL数据库,以便日后进行审核。

这是在我的php文件中完成的:

/* Attempt MySQL server connection.*/
$link = mysqli_connect("xxxxxxxx", "xxxxxxx", "xxxxxxx", "xxxxxxx");

// Check connection 
if($link === false){
  die("ERROR: Could not connect. " . mysqli_connect_error());
}

// Attempt insert query execution
$sql = "INSERT INTO xxxxxx (username, dob, form, opt1, opt2, opt3, opt4, optRes1, optRes2) VALUES ('$username', '$dob', '$form', '$opt1', '$opt2', '$opt3', '$opt4', '$optRes1', '$optRes2')";
if(mysqli_query($link, $sql)){
echo "Records added successfully.";
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}

// Close connection
mysqli_close($link);

它必须以这样的方式工作:当客户端选择框中的选项时,该选项随后在其他5个框中被禁用,因此用户不能多次选择相同的选项。为此,我在index.html文件中使用了以下代码:

<script type="text/JavaScript" language="JavaScript">

$(function()
 {
  $('select').change(function(){
    if($(this).attr('id') == 'opt1' && $(this).val() == 'Default'){
        $('select').not(this).prop('disabled', true).val('Disabled');
    } else {
        $('select').not(this).removeProp('disabled');

        $('select option').removeProp('disabled');
        $('select').each(function(){
            var val = $(this).val();
            if(val != 'Default' || val != 'Disabled'){
                $('select option[value="'+val+'"]').not(this).prop('disabled', true);
               }
            });
        }
    });
});

</script>

我面临的问题是当上面的代码在index.html文件中,并且客户端点击提交时,MySQL数据库只接收$ username和$ dob数据。 $ form,$ opt1,$ opt2,$ opt3,$ opt4,$ optRes1,$ optRes2未收到,且未填充这些列。

如果我把javascript拿出来,它运行正常。

有人能给我一些指示。

非常感谢,

杰克

1 个答案:

答案 0 :(得分:0)

试试这个:

$('select').not(this).prop('disabled', false); $('select option').prop('disabled', false);