You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过document.querySelector取值并经AJAX+PHP存入数据库遇问题求助

问题修复:获取标签数据并通过AJAX存入数据库

核心错误点

  • 标签无value属性:你用.value获取<i>标签内容是错误的,<i>属于行内文本标签,需用textContent或innerText获取其文本内容。
  • 手动拼接POST数据易出问题:直接拼接字符串会引发特殊字符编码错误,jQuery的AJAX支持直接传递对象,可自动处理编码与格式。
  • 空值判断逻辑需严谨:默认状态下这些<i>标签为空,需确保内容已被正确填充后再提交。

修正后的JS代码

$(document).ready(function () {
    $("#submit").click(function () {
        // 正确获取<i>标签的文本内容,trim()去除首尾空白
        let no = document.querySelector('i[data-name="no"]').textContent.trim();
        let question = document.querySelector('i[data-name="question"]').textContent.trim();
        let countdown = document.querySelector('i[data-name="countdown"]').textContent.trim();
        let answer = document.querySelector('i[data-name="answer"]').textContent.trim();
        
        // 用对象传递数据,避免编码问题
        var postData = {
            no: no,
            question: question,
            countdown: countdown,
            answer: answer
        };
        
        if (!no || !question || !countdown || !answer) {
            alert("请填写所有字段");
        } else {
            $.ajax({
                type: "POST",
                url: "post-answer.php",
                data: postData,
                cache: false,
                success: function (result) {
                    alert(result);
                },
                error: function(xhr, status, error) {
                    // 增加错误处理,方便排查问题
                    alert("请求出错:" + error);
                }
            });
        }
        return false;
    });
});

额外优化建议

  1. 确保标签内容已填充:检查checkboxtrue()、checkboxfalse()等函数,确认它们能正确给对应<i>标签设置文本内容,例如document.querySelector('i[data-name="answer"]').textContent = "Benar";。
  2. PHP端数据安全处理:在post-answer.php中接收$_POST数据时,需做好过滤与转义,优先使用预处理语句防止SQL注入。
  3. 表单内a标签跳转拦截:表单中的<a href="">会触发页面跳转,建议改为<a href="#" onclick="return false;">或在点击事件中阻止默认行为,避免打断AJAX请求。

内容的提问来源于stack exchange,提问作者radityo nugroho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 04:15:32