我有点问题。 我有一个填写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
答案 0 :(得分:0)
尝试将<input type="hidden" name="taxe" value="false" />
<input type="checkbox" name="taxe" value="true" />
属性添加到您的复选框,并添加隐藏的输入以设置未选中的默认值复选框:
placeholder
如果取消选中该复选框,则会从隐藏输入中提交值。