【问题标题】:AJAX checkbox if statementAJAX 复选框 if 语句
【发布时间】:2009-04-15 11:18:26
【问题描述】:

在将查询字符串发送到 PHP 之前,我已经从表单 ID 中提取了一堆变量。但是,由于一个输入是一个复选框,我试图让 AJAX 根据是否选中来设置变量值。即..

    if (document.getElementById('bold').checked) { var bold = "true"; 
    }
    else { var bold = "false"; }    

但是,它实际上并没有向 PHP 发送任何内容。很多时候我都在猜测语法,所以如果有人能纠正我将不胜感激。

【问题讨论】:

  • 你能告诉我们实际的发送方法吗?

标签: php javascript ajax syntax


【解决方案1】:

只要你给它一个名字,它就应该可以在后端访问为“on”或“off”,例如

var $checked = $_POST["checkboxname"] == "on";

所以你的 javascript 是多余的。

【讨论】:

  • 理想情况下,这将是答案,但它是在 GET 中发送的,并且字符串实际上只有粗体 = true 或粗体 = 并且没有任何内容。我尝试使用 isset() 或 empty()... 都行不通。我认为需要在JS中进行排序。
  • 那你就不能做 var $isBold = $_GET["bold"] == "true" 吗?
【解决方案2】:

首先,而不是: var粗体=“真”;

我认为您实际上正在寻找类似的东西: document.getElementById('bold').value = "true";

其次,如果未选中复选框,则不会向 PHP 脚本发送任何内容(未选中的复选框不会作为表单提交的一部分发送)。

【讨论】:

  • 没有解决这个问题,因为之后我仍然必须声明 var。其次,通常情况是这样,但这是由任何东西的 ajaxFunction onChange 提交的。因此,无论情况如何,该值似乎都已提交。
  • 如果是这样,那么我同意 chosta... 我们需要查看发送代码。
  • 同意,如果未选中该复选框,则不会发送任何内容
  • 非常感谢,我实际上已经确定了“咳咳”问题... PHP 方面的变量是拼写错误。我在问题中使用的建议方法已经奏效。 :/ 很抱歉把你们逗乐了,谢谢你们的努力。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 2017-12-02
相关资源
最近更新 更多