Javascript 默认值和类型提交如何处理表单?

Javascript 默认值和类型提交如何处理表单?,javascript,forms,submit,form-submit,Javascript,Forms,Submit,Form Submit,所以当我使用JS并尝试提交输入时,我尝试了一些事情,但有些奇怪的事情我不理解逻辑 默认情况下,之间存在差异,如果表单中有“提交”类型的输入,则单击该输入(或在表单中填写任何输入后单击enter)将向服务器发送post或get请求,将当前页面重定向到服务器的响应 这是向服务器提交表单数据的原始方法,不使用javascript。如果要防止这种情况发生,可以使用普通按钮(submit)替换提交输入,或防止默认提交事件:(form.onsubmit=event=>event.preventDefault

所以当我使用JS并尝试提交输入时,我尝试了一些事情,但有些奇怪的事情我不理解逻辑


  • 默认情况下,
    之间存在差异,如果表单中有“提交”类型的输入,则单击该输入(或在表单中填写任何输入后单击enter)将向服务器发送post或get请求,将当前页面重定向到服务器的响应

    这是向服务器提交表单数据的原始方法,不使用javascript。如果要防止这种情况发生,可以使用普通按钮(
    submit
    )替换提交输入,或防止默认提交事件:(
    form.onsubmit=event=>event.preventDefault()

    onsubmit
    onclick
    之间的区别在于
    onsubmit
    仅在表单发出提交事件时触发。要发出提交事件,表单需要单击
    ,或者用户通过按enter键触发提交

    防止此默认行为的另一种方法是在提交处理程序中
    返回false

    onclick
    仅在单击元素时触发。因为javascript中的事件会传播到父元素,这也会触发所有父元素上的任何
    onclick
    处理程序


    如果要完全忽略默认表单提交行为,则可以定义一个带有onclick处理程序的按钮来处理自定义提交逻辑。

    默认情况下,如果表单中有“提交”类型的输入,则单击该输入(或在填写表单中的任何输入后单击enter)将向服务器发送post或get请求,将当前页面重定向到服务器的响应

    这是向服务器提交表单数据的原始方法,不使用javascript。如果要防止这种情况发生,可以使用普通按钮(
    submit
    )替换提交输入,或防止默认提交事件:(
    form.onsubmit=event=>event.preventDefault()

    onsubmit
    onclick
    之间的区别在于
    onsubmit
    仅在表单发出提交事件时触发。要发出提交事件,表单需要单击
    ,或者用户通过按enter键触发提交

    防止此默认行为的另一种方法是在提交处理程序中
    返回false

    onclick
    仅在单击元素时触发。因为javascript中的事件会传播到父元素,这也会触发所有父元素上的任何
    onclick
    处理程序

    如果希望完全忽略默认表单提交行为,则可以定义一个带有onclick处理程序的按钮来处理自定义提交逻辑

  • 如果表单中有一个
    type=“submit”
    输入(注意),则单击时的默认操作是提交该表单。要防止其提交,请将按钮放在
    外部。这是因为按钮没有引用任何要提交的表单。相反,您可以添加一个侦听器并调用。这是因为您告诉浏览器不要执行默认操作(提交表单)

  • onsubmit
    主要用于
    元素。无论表单如何提交,它都会在表单提交之前触发
    onclick
    几乎可以从任何元素发出。当您单击某个图元时会发生此错误。这可能在
    上,也可能在
    上。甚至是整个

  • 不要用这个

  • 如果表单中有一个
    type=“submit”
    输入(注意),则单击时的默认操作是提交该表单。要防止其提交,请将按钮放在
    外部。这是因为按钮没有引用任何要提交的表单。相反,您可以添加一个侦听器并调用。这是因为您告诉浏览器不要执行默认操作(提交表单)

  • onsubmit
    主要用于
    元素。无论表单如何提交,它都会在表单提交之前触发
    onclick
    几乎可以从任何元素发出。当您单击某个图元时会发生此错误。这可能在
    上,也可能在
    上。甚至是整个

  • 不要用这个


  • 请出示你的密码。听起来有点混乱。表单内的submit按钮将提交表单,并且需要停止此操作,而不是在外部。有道理,不是吗?这能回答你的问题吗@GoranStoyanov实际上不是,它只是说它阻止了提交。也许我只是不明白“阻止提交”是什么意思。是否阻止表单发送到服务器,而不是在浏览器上进行计算?请显示您的代码。听起来有点混乱。表单内的submit按钮将提交表单,并且需要停止此操作,而不是在外部。有道理,不是吗?这能回答你的问题吗@GoranStoyanov实际上不是,它只是说它阻止了提交。也许我只是不明白“阻止提交”是什么意思。是否阻止表单发送到服务器,而不是在浏览器上进行计算?非常感谢。如果我阻止表单发送到服务器,那么js代码仍然可以工作。谁做所有的计算?浏览器?是的,您必须自己实现提交逻辑(例如:从表单输入中获取值并使用这些值进行操作)。非常感谢。如果我阻止表单发送到服务器,那么js代码仍然可以工作。谁做所有的计算?浏览器?是的,您必须自己实现提交逻辑(例如:从表单输入中获取值并执行一些操作)