从输入标签获取布尔值到Postgres DB

时间:2018-04-12 09:51:30

标签: javascript html postgresql

我有点问题。 我有一个填写Postgres数据库的HTML表单,如下所示:

<form method="post">
                        <label for="shortcode"> Shortcode </label>
                        <input type="text" name="shortcode" id="shortcode">

                        <label for="prix"> Price </label>   
                        <input type="number" name="prix" id="prix" >        

                        <label for="taxe"> Tax </label>
                        <input type="texte" name="taxe" id="taxe">  
    </form>

问题在于“税收”问题。 label是数据库中的布尔类型,所以当我填写“税收”时。输入值为&#34; TRUE&#34;和&#34;错误&#34;或&#34; T&#34;和&#34; F&#34;我会有一个错误。我对HTML不太满意,但我尝试添加输入复选框而不是文本:

<input type="checkbox" id="tax_checkbox" onclick="validate()" name="taxe">

我尝试了这个功能:

function validate() {
  var isChecked = false;
  if (document.getElementById('tax_checkbox').checked) {
    isChecked = true;
    console.log(isChecked);
  } else {
    isChecked = false;
    console.log(isChecked);
  }
}

这是我的Pgsql代码,用于将输入值输入数据库:

$shortcode= $_POST['shortcode'];
        $prix= $_POST['prix'];
        $taxe= $_POST['taxe'];

        $sql = "INSERT INTO shortcode (sc_shortcode,prix_ttc_shortcode,taxe_shortcode) VALUES ('".$shortcode."','".$prix."','".$taxe."')";
        $q=pg_query($sql);

最后我收到此错误:警告:pg_query() [function.pg-query]: Query failed: ERROR: invalid input syntax for type boolean: "on" in C:\Users\aspis\Documents\WWW\Create.php on line 17

1 个答案:

答案 0 :(得分:0)

尝试将<input type="hidden" name="taxe" value="false" /> <input type="checkbox" name="taxe" value="true" /> 属性添加到您的复选框,并添加隐藏的输入以设置未选中的默认值复选框:

placeholder

如果取消选中该复选框,则会从隐藏输入中提交值。