【发布时间】:2020-01-03 07:13:48
【问题描述】:
当用户单击按钮时,我无法使用确认弹出窗口。
用例 #1: 在更新按钮上,当表单字段满足特定条件时需要确认。 (参见 formSubmit() 函数。)目前,当用户单击更新按钮时,它成功执行了 Form 标签中指定的“游戏/更新”操作(Laravel 路由)。我只是无法触发该功能。
用例 #2: 在删除按钮上,需要确认。 (参见 formDelete() 函数。)目前,当用户单击 Delete 按钮时,它会成功执行 Delete 按钮中指定的“游戏/删除”操作(Laravel 路由)。同样,我就是无法触发该函数。
表单 HTML:
<form method="post" action="/games/update" enctype="multipart/form-data">
<select id="status" class="form-control" name="status" required>
<option value="FINAL" selected>Final Score</option>
<option value="POSTPONED">Postponed</option>
<option value="OTHER">Not Final</option>
</select>
<input type="number" name="awayScore" id="awayScore" class="form-control" required/>
<input type="number" name="homeScore" id="homeScore" class="form-control" required/>
<button type="submit" id="updateBtn" onClick="formSubmit()" class="btn btn-primary pull-left">Update Game</button>
<button type="submit" id="deleteBtn" onClick="formDelete()" formaction="/games/delete" class="btn btn-danger pull-right">Delete Game</button>
</form>
Javascript:
<script>
function formSubmit() {
var status = document.getElementById('status').value;
var awayScore = document.getElementById('awayScore').value;
var homeScore = document.getElementById('homeScore').value;
if(awayScore == 0 && homeScore == 0 and status = 'FINAL') {
return confirm("You have entered a FINAL SCORE of 0-0. If this is correct, click OK. If not, click Cancel and update the Status / Score.");
}
else
{
return true;
}
}
function formDelete() {
return confirm("Are you sure you want to delete this game?");
}
</script>
【问题讨论】:
-
我从未听说过
formaction,但经过一番尝试,我能够确定formaction并不关心onclick返回的内容... -
我刚刚找到了这个:stackoverflow.com/questions/6493009/… ...我今晚回家后会试试这个。
标签: laravel forms submit confirm