我已如下设置输入,如果仅在$client_chargeBy
或== "Square Foot"
上提示输入,则要填写输入的问题是"Room"
或 <div class="col-md-12 p0 ">
<div class="col-md-6 PL0 p0_smresp">
<div class=" form-group "><label for="enjoy_style" class="optional">How are your rates charged by?</label>
<select name="client_chargeBy" id="client_chargeBy" value="{{$client_chargeBy}}" class="form-control ">
<option value="Square Foot">Square Foot</option>
<option value="Room">Room</option>
<option value="View">View</option>
<option value="Hour">Hour</option>
</select>
</div>
</div>
<div class="col-md-6 PR0 p0_smresp">
<div class=" form-group "><label for="client_chargeRate" class="optional">What is your rates?</label>
<input type="text" name="client_chargeRate" id="client_chargeRate" value="{{$client_chargeRate}}" class="form-control" autocomplete="off" placeholder="List your charge rate" aria-required="true">
</div>
</div>
</div>
<div class="col-md-12 p0 ">
<div class="col-md-6 PL0 p0_smresp">
@if($client_chargeBy == "Room")
input days for Room
@elseif($client_chargeBy == "Square Foot")
input days for SF
@endif
</div>
</div>
"input days for Room"
但是,我使用的方法仅在我首先提交表单时才显示输入。我要使"input days for SF"
或403
提示符在我更改选择选项后立即显示,而不必先保存它。
答案 0 :(得分:0)
首先PHP
是服务器站点脚本。它在服务器上运行,然后返回结果。就这样。收到响应后,浏览器和服务器之间就没有其他东西了。
每次运行.PHP
时,页面都会加载并等待服务器的响应。网站加载之前,您无法在页面上执行任何操作。因此,如果要从服务器(没有刷新/重新加载站点)获取实时更新,则应建立后台连接(Web-Socket)
或应向服务器询问频繁在后台{{1} }
因此,这里您应该使用(AJAX)
与服务器建立后台连接。它是客户端,它将连接客户端和服务器。
这是一个非常基本的概念。请参考此链接进行学习
答案 1 :(得分:0)
为了处理此实时文档更改,您可以通过Javascript来完成,因为PHP仅用于服务器端渲染,其中在HTML文档渲染之前设置了变量。我建议稍微更改一下HTML文档,以方便Javascript元素处理;
<div class="col-md-12 p0 ">
<div class="col-md-6 PL0 p0_smresp">
input days for <span id="textToChange">SF</span>
</div>
</div>
您的Javascript将是
var selectElement = document.getElementById('client_chargeBy');
selectElement.addEventListener('change', function() {
let selectedIndex = selectElement.selectedIndex;
var optionValue = selectElement[selectedIndex].value;
var spanText = document.getElementById('textToChange');
var updateValue = 'SF';
switch(optionValue) {
case 'Room':
updateValue = 'Room';
break;
case 'Square Foot':
updateValue = "SF";
break;
}
spanText.innerHTML = updateValue;
});
此外,我建议您以@Banujan suggested的形式阅读更多有关实时更新的概念。从长远来看,它将对开发人员非常有用。