Jquery按钮触发表单提交

时间:2016-10-06 20:12:35

标签: jquery forms button click

class ForgotPasswordController extends Controller
{

    use SendsPasswordResetEmails;

    public function sendResetLinkEmail(Request $request)
    {
        // implementation
    }

}

HTML表单是这样的:

The following script enables users to prompt a value into the input field of a form:

    <script>
    $(document).ready(function(){
    $("button").click(function(){
        $('input[name="fine"]').val(computeEndTime($('input[name="ini"]').val()));
    });
    function computeEndTime(ini){
        var parts = ini.split(/[:,\s\.]+/).map(Number);
        var hourstart = parseInt(parts.shift());
        var minutestart  = parseInt(parts.shift());
        var totalm = (hourstart * 60) + minutestart + 100;
        var minutes = totalm%60;
        var hours = (totalm - minutes) / 60;
        return hours + ":" + minutes;
    }   
});
</script>

如您所见,脚本将输入<form action="next.php" method="POST"> <input type="text" name="ini" maxlength="5" /> <input type="text" name="fine" maxlength="5" /> <button>100</button> <input type="submit" name="invia" value="go on" /> </form> 的时间值输入,并通过按钮提示输入"ini"另一个时间值(初始值+ 100分钟)。

我遇到的问题是当按下按钮"fine"时,表单的其他提交按钮也会被触发,用户会立即重定向到页面next.php

如何避免这种情况,并要求用户按下提交按钮?

2 个答案:

答案 0 :(得分:1)

这应该可以解决问题

$("button").click(function(e){
   $('input[name="fine"]').val(computeEndTime($('input[name="ini"]').val()));
   e.preventDefault();
});

答案 1 :(得分:1)

将按钮更改为

<button type="button">100</button>

默认值为type="submit",因此它会提交表单。

相关问题