我花了几个小时在这里查看所有相关答案,但我仍然无法弄清楚为什么会这样。
我试图从用户那里捕获是/否类型的答案。
我正在使用以下复选框输入。我可以使用单选按钮并可能使其工作,但有一个原因我希望它是一个单一的复选框用户界面。
问题:无论我选中还是取消选中复选框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">
非常感谢你的时间。
答案 0 :(得分:0)
你的jQuery正在拾取这个元素,因为它是第一个匹配:
<input type="hidden" name="hardtofind" id="hardtofindField" value="0">
...其值为0,并将其发送到服务器。
使用不同的ID以获得预期的结果。