我对此代码有点问题:
<form class="form-horizontal" method="post" action="{{ route('bilan.resultat.add', ['bilanId' => $bilan->id] )}}" id="form" name="formu">
{{ csrf_field() }}
<table class="table table-striped">
<thead>
<tr>
<th>Sexe</th>
<th>Age</th>
<th>Taille</th>
<th>Poids</th>
</tr>
</thead>
<tbody class="text-primary">
<tr>
<td><input id="age" size="7" maxlenght="3" name="valage" value="{{ $bilan->age }}" readonly></td>
<td><input size="7" maxlenght="3" name="valtaille" value="{{ $bilan->Taille_cm }}" readonly></td>
<td><input type="hidden" size="2" maxlenght="3" id="anc_id" name="anc_id" value="{{ $bilan->resultat->anc_id }}" readonly></td>
<td><a href="/bilans" class="btn btn-outline-primary pull-right" role="button">Retour</a></td>
</tr>
</tbody>
</table>
<table class="table table-responsive">
<tr>
<td><p class="text-primary">Indice de masse corporelle (IMC)</p></td>
<td><input name="imc" size="5" value="@if($bilan->resultat !== null) {{ $bilan->resultat->imc }} @endif"/></td>
<td><p hidden class="text-primary">Fréquence cardiaque maximale</p></td>
<td><input type="hidden" name="fcm" size="5" value="@if($bilan->resultat !== null) {{ $bilan->resultat->fcm }} @endif"/><a hidden> b/min</a></td>
</tr>
<tr>
<td><p class="text-primary">Distance minimale normale</p></td>
<td><input name="dmn" size="5" value="@if($bilan->resultat !== null) {{ $bilan->resultat->dmn }} @endif"/><a> m</a></td>
<td><p hidden class="text-primary">Fréquence cardiaque de travail 50%</p></td>
<td><input type="hidden" name="fct50" size="5" value="@if($bilan->resultat !== null) {{ $bilan->resultat->fct50 }} @endif"/><a hidden> b/min</a></td>
</tr>
</table>
<a href="/bilans" class="btn btn-outline-primary pull-right" role="button">Retour</a>
</form>
我想在页面加载时自动加载表单,所以我添加了脚本:
<script>
window.onload = function() { ancrecupid(); calculerIMC(); calculerDMN(); document.getElementById('form').submit(); };
</script>
它可以工作,但页面每秒重新加载,我只想要一次加载表单... 我有几个函数可以加载{i} {/ 1}}
的原因我的代码有什么问题?
答案 0 :(得分:1)
您的代码没有任何问题。它按书面工作。您需要的是flag
,表示您的网页是通过get
请求还是post
请求加载的。目前,您的JS
代码无法区分它们,这就是它进行无限重定向的原因。要解决此问题,您必须从后端代码返回flag
并在JS代码中使用flag
。您可以从以下链接中获取帮助
Checking if request is post back in PHP
或强>
您可以使用ajax
。
答案 1 :(得分:0)
使用jQuery,就是这样的想法。不确定你是否还需要其他功能
$(document)ready(function() {
var myform = $('#form');
// every 1 second:
setInterval(function() {
// send Ajax request, with form data
$.ajax({
type: 'post',
url: myform.attr('action'),
data: myform.serialize(), // this reads all the inputs/select, ... puts it all in the correct format...
success: function(response) {
// response holds whatever you echoed with php. For example you can show that response in a div <div id="response"></div>
$('#response').html(response);
}
});
}, 1000);
})