单个复选框输入错误地传递值

时间:2017-05-03 19:29:54

标签: javascript php jquery html checkbox

我花了几个小时在这里查看所有相关答案,但我仍然无法弄清楚为什么会这样。

我试图从用户那里捕获是/否类型的答案。

我正在使用以下复选框输入。我可以使用单选按钮并可能使其工作,但有一个原因我希望它是一个单一的复选框用户界面。

问题:无论我选中还是取消选中复选框a' 0' 0总是传递给服务器。当我选中我希望' 1'的复选框时。

html:

<input type="hidden" name="hardtofind" id="hardtofindField" value="0">
<input type="checkbox" name="hardtofind" id="hardtofindField" value="1">I'm having hard time finding information I'm looking for<br>
<input type="button" id="submitButton" class="rbutton" value="Submit">

jquery:

<script>
jQuery(document).ready(function(){
jQuery("#submitButton").click(function(event){
var hardtofind = jQuery("#hardtofindField").val();
jQuery.ajax({
url : "../send_form_email.php",
data : {
"hardtofind" : hardtofind,     
},
method : "GET",
success : function(){
jQuery("#submitButton").hide();
jQuery("#successMsg").show();
}
});
event.preventDefault();
});
});
</script>

php:

session_start();
if(isset($_GET['hardtofind']) && !empty($_GET['hardtofind']) ){
$hardtofind = $_GET['hardtofind']; 
}

更新:

感谢您指出重复的ID。我在尝试解决原始问题时介绍了这个问题。

当我删除隐藏的文件时(所以没有重复的ID)。我仍然坚持同样的问题,它始终通过&#39; 1&#39;现在。

我需要更改哪些内容,以便在取消选中单个复选框时,它会通过&#39; 0&#39; 0如果选中&#39; 1&#39;?

new html:

<input type="checkbox" name="hardtofind" id="hardtofindField" value="1">I'm having hard time finding information I'm looking for<br>
<input type="button" id="submitButton" class="rbutton" value="Submit">

非常感谢你的时间。

1 个答案:

答案 0 :(得分:0)

你的jQuery正在拾取这个元素,因为它是第一个匹配:

<input type="hidden" name="hardtofind" id="hardtofindField" value="0">

...其值为0,并将其发送到服务器。

使用不同的ID以获得预期的结果。