gpt4 book ai didi

javascript - 为什么我的表单在我不想要的情况下却被提交了?

转载 作者:行者123 更新时间:2023-12-01 02:20:10 24 4
gpt4 key购买 nike

我希望只有在字段填写完毕后才能提交表单。目前,无论下面的 submit 函数的结果如何,它都会提交。

$("#findmusicians").submit(function(e)
{
if ($('#inputName').val() && $('#inputEmail').val() && $('#inputInstrument').val() && $('#inputFee').val() && $('#message').val() != '')
{
alert('success');
}
else
{
alert('fill in all fields');
}
});

还有什么会触发它?

表格如下:

<form class="form-horizontal" role="form" id="findmusicians">
<div class="form-group">
<label for="inputName" class="col-sm-3 control-label">* Name</label>
<div class="col-md-7">
<input type="text" name="inputName" class="form-control required" minlength="1" id="inputName">
<div id="hidden"></div>
</div>
</div>
<div class="form-group">
<label for="inputEmail" class="col-sm-3 control-label">* Email</label>
<div class="col-md-7">
<input type="email" name="inputEmail" class="form-control" id="inputEmail">
</div>
</div>
<div class="form-group">
<label for="inputPhone" class="col-sm-3 control-label">Telephone</label>
<div class="col-md-7">
<input type="text" name="inputTelephone" class="form-control" id="inputTelephone">
</div>
</div>
<div class="form-group">
<label for="inputInstrument" class="col-sm-3 control-label">* Instrument(s)</label>
<div class="col-md-7">
<input type="text" name="inputInstrument" class="form-control" id="inputInstrument">
</div>
</div>
<div class="form-group">
<label for="inputFee" class="col-sm-3 control-label">* Fee</label>
<div class="col-md-7">
<input type="text" name="inputFee" class="form-control" id="inputFee">
</div>
</div>
<div class="form-group">
<label for="message" class="col-sm-3 control-label">* Message</label>
<div class="col-md-9">
<textarea name="message" id="message" class="form-control" rows="3" style="height: 200px"></textarea>
<span class="help-block" style="text-align: left;">Please include as much information as possible including repertoire, rehearsal/performance times and venues.</span>
</div>
</div>
<div class="form-group">
<div class="col-md-3 col-md-offset-3">
<button id="findmusicians-submit" type="submit" class="btn btn-success">Submit request</button>
</div>
</div>
<div class="col-md-9 col-md-offset-3" style="text-align: left; padding-left: 5px">
<span id="result" class="text-success"></span>
</div>
</form>

最佳答案

说明

当前,事件从 .submit 回调中冒泡,基本上发生的情况是默认提交例程仍在被触发。

您可以通过在回调中调用 e.preventDefault () 来防止这种情况发生,以确保您的事件处理程序是最后一个接收该事件的事件。

<小时/>

修改片段

$("#findmusicians").submit(function(e)
{
if ($('#inputName').val() && $('#inputEmail').val() && $('#inputInstrument').val() && $('#inputFee').val() && $('#message').val() != '')
{
alert('success');
}
else
{
alert('fill in all fields');
e.preventDefault () // stop the event
}
});

关于javascript - 为什么我的表单在我不想要的情况下却被提交了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24099922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com