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

使用jQuery填充Microsoft Form文本框后无法提交的问题

微软表单程序化填充后提交提示必填项为空的问题

我用jQuery程序化填充微软表单,修改文本框值后,明明文本框已经显示内容,但提交时还是提示“此问题为必填项”,判定文本框为空。

除了手动点击文本框并敲击按键外,我试过各种模拟事件的方法都没用,相关代码如下:

$(document).ready(function () { 
    let questions = null;
    let choices = null;
    let selection = null;
    let textField = null;
    let submitButton = null;

    
    setTimeout(function(){
        // 获取表单中的问题数量
        questions = $(".office-form-question-element");
        console.log("Total number of questions: " + questions.length);

        // 单选按钮选项
        choices = questions.eq(0).find(".office-form-question-choice");
        console.log("Total number of choices for question 1: " + choices.length);
        
        // 选择“选项1”
        selection = choices.eq(0).find(":input");
        selection.eq(0).click(); // 模拟鼠标点击
        
        // 填充第二个问题的文本
        textField = questions.eq(1).find(".office-form-textfield").find(":input");
        textField.eq(0).val("Test") // .val() 本应触发元素的change事件

        // 提交按钮
        submitButton = $(":submit").find(".button-content");
        submitButton.click();
    }, 2000); // 等待2秒让表单加载完成,避免引用为null
});

我已经尝试手动触发各类按键事件,包括以下方式(带或不带.eq(0)):

textField.eq(0).focus();
textField.eq(0).keydown();
textField.eq(0).keypress();
textField.eq(0).keyup();
textField.eq(0).blur();
textField.eq(0).change();

我还试过逐个字符模拟回车键按下,同样无效:

var e = jQuery.Event("keypress");
e.which = 13; // 选择对应的按键
e.keyCode = 13;
textField.eq(0).trigger(e);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 09:56:21