Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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_Html_Ajax_Forms - Fatal编程技术网

提交表单而不重新加载页面,并链接到javascript

提交表单而不重新加载页面,并链接到javascript,javascript,jquery,html,ajax,forms,Javascript,Jquery,Html,Ajax,Forms,我制作了一个系统,当你输入一个特定的值时,它会根据选择淡入值 我这里有一个代码,这是主窗体,您可以在窗体中输入特定的型号,然后按enter键 <form> <input type="text" name="ModNum" id="ModelNumber" pattern="^PIV13RT[23]?$" title="Your Model Number." placeholder="Please Input a Model number" size="35" maxle

我制作了一个系统,当你输入一个特定的值时,它会根据选择淡入值

我这里有一个代码,这是主窗体,您可以在窗体中输入特定的型号,然后按enter键

<form>
   <input type="text" name="ModNum" id="ModelNumber" pattern="^PIV13RT[23]?$"
 title="Your Model Number." placeholder="Please Input a Model number" size="35" maxlength="8">
   <center><span class="egsmall"><strong>Eg: PIV13RT, PIV13RT2, Ect.</strong></span></center>
   <center><div class="btnwrap"><input name="proceed" type="submit" class="submitsup" id="forward" /></div></center>
</form>
我意识到这也可以通过Javascript实现,但这不允许我使用表单

$("#forward").click(function(){ 
    var text = $("#ModelNumber").val();
    var comparingText = "PIV13RT";
    var comparingText2 = "PIV13RT2";
    var comparingText3 = "PIV13RT3";
    if (text == comparingText) {   
$('.optionbk').fadeIn('slow');
    }
        if (text == comparingText2) {   
$('.optionbk').fadeIn('slow');
    }
            if (text == comparingText3) {   
$('.optionbk').fadeIn('slow');
    }
});

无论如何,我可以在表单内部完成它,但要使页面不会重新加载,这样淡入淡出就可以工作,而不是重新加载。表单是必需的,因为它遵循特定的模式。请注意,表单未链接到外部PHP文件。

最快的解决方案是将
onsubmit=“return false”
添加到打开的
标记中。

最快的解决方案是添加
onsubmit=“return false”
进入打开的
标记。

您应该将回调函数绑定到表单分派的提交事件,并使其返回false以取消实际提交

$('form').bind('submit', function(){
    $.ajax();
    return false;
});

您应该将回调函数绑定到表单分派的submit事件,并使其返回false以取消实际提交

$('form').bind('submit', function(){
    $.ajax();
    return false;
});

除了使用javascript之外,这与前面的答案做的事情相同。如果在客户端浏览器上禁用JS会怎么样?如果禁用javascript,两种解决方案都不起作用。重要的是,我的解决方案捕获表单提交时发送的事件,无论它是如何触发的(单击、键盘、scriot…),onsubmit也会执行相同的操作—它捕获提交事件并返回false,阻止页面重新加载。是的,但是如果用户在表单中按enter键,则不会触发ajax调用。我的解决方案使用一个回调函数来处理ajax调用并取消表单提交。测试它-无论表单如何提交,这两个解决方案都可以工作。onsubmit也捕获enter。除了使用javascript之外,这与前面的答案做相同的事情。如果在客户端浏览器上禁用JS会怎么样?如果禁用javascript,两种解决方案都不起作用。重要的是,我的解决方案捕获表单提交时发送的事件,无论它是如何触发的(单击、键盘、scriot…),onsubmit也会执行相同的操作—它捕获提交事件并返回false,阻止页面重新加载。是的,但是如果用户在表单中按enter键,则不会触发ajax调用。我的解决方案使用一个回调函数来处理ajax调用并取消表单提交。测试它-无论表单如何提交,这两个解决方案都可以工作。onsubmit也可以进入。