Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 提交表单验证,刷新页面,无法继续_Javascript_Jquery - Fatal编程技术网

Javascript 提交表单验证,刷新页面,无法继续

Javascript 提交表单验证,刷新页面,无法继续,javascript,jquery,Javascript,Jquery,这里是HTML <form data-test="loginForm-container" novalidate="" method="POST" enctype="multipart/form-data"> <div class="css-o5d3v1 e1ovefus2"> <div data-test="guestForm-email-wrapper" class="e1ovefus1 css-yjv4po e1eu3ser1">

这里是HTML

<form data-test="loginForm-container" novalidate="" method="POST" enctype="multipart/form-data">
    <div class="css-o5d3v1 e1ovefus2">
        <div data-test="guestForm-email-wrapper" class="e1ovefus1 css-yjv4po e1eu3ser1">
            <div class="css-gg4vpm e1eu3ser4">
                <label for="guestForm-email" id="guestForm-email-label" data-test="input-label" class="css-1k1vx4d e1eu3ser5">Email Address*</label>
            </div>
            <div class="css-1tpy6sb e1eu3ser7">
                <input data-test="guestForm-email" aria-invalid="true" aria-required="true" id="guestForm-email" type="email" name="email" required="" aria-labelledby="guestForm-email-label" class="css-15uq4zo e1eu3ser9 error" value="" aria-describedby="guestForm-email-error">
            </div><span data-test="input-error" id="guestForm-email-error" role="alert" class="css-mf5akt e1eu3ser0">Please enter email address</span></div>
    </div>
    <button type="submit" data-test="guestForm-submitButton" class="e1ovefus0 css-1wqqz58 e1y6awi20"><span>Continue as Guest</span></button>
</form>
当我点击“继续作为客人”按钮时,它会打印出第1步、第2步、表单提交。然后,它刷新页面,就好像验证失败一样,它不应该只是刷新页面,它应该进入下一页


任何有帮助的,谢谢。

为了将
表单提交到
post
当前页面以外的任何位置,您需要将目标URL放入表单的
操作
属性中。

它使用React 所以这段代码将与你一起工作

var input = document.querySelectorAll('[data-test="guestForm-email"]')[0];
var btn = document.querySelectorAll('[data-test="guestForm-submitButton"]')[0];
var nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, "value").set;
nativeInputValueSetter.call(input, 'asdfsadf@asdf.com');
var ev2 = new Event('input', { bubbles: true});
input.dispatchEvent(ev2);
btn.click()


告诉我们您想做什么?@AbdelrahmanGobarah,我希望它提交并进入下一页,而不会刷新回其原始空白状态。您的
表单
没有定义的
操作
。它怎么知道“下一页”是什么?你需要一个动作属性!或者您可以使用window.location.replace(“url…”)如果这是一个变量destinationwhen
action
属性为空,则使用HttpPost方法提交到同一url的页面在我不使用代码并手动执行时如何工作?@Andrew您的意思是HTML是硬编码的,您只能更改Javascript?请解释一下,没有“主要形式”这样的东西,所以它不起作用。它没有id。我无法更改HTMLya,但在我的情况下,我无法添加id。当我执行“$”(“#guestForm email”).val(”时,我也会得到步骤1test@gmail.com“”“还有其他方法可以增加值吗?我将您的代码输入控制台,然后执行“$”(“#guestForm email”).val(”test@gmail.com”),并将其输入控制台,此时textfield具有值,当我单击“继续作为客人”时,它只打印步骤1请检查讨论室
var input = document.querySelectorAll('[data-test="guestForm-email"]')[0];
var btn = document.querySelectorAll('[data-test="guestForm-submitButton"]')[0];
var nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, "value").set;
nativeInputValueSetter.call(input, 'asdfsadf@asdf.com');
var ev2 = new Event('input', { bubbles: true});
input.dispatchEvent(ev2);
btn.click()