我有当前的形式:
<form name="estimate" action="live_preview.php" method="post"enctype="multipart/form-data">
<label for="file">Upload File 1:</label>
<input type="file" name="file" id="file"/>
<label for="qty1">Quantity:</label>
<select name="qty1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
<br>
<label for="file">Upload File 2:</label>
<input type="file" name="file2" id="file2"/>
<label for="qty2">Quantity:</label>
<select name="qty2">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
<br>
<label for="file">Upload File 3:</label>
<input type="file" name="file3" id="file3"/>
<label for="qty3">Quantity:</label>
<select name="qty3">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
<br>
<label for="file">Upload File 4:</label>
<input type="file" name="file4" id="file4"/>
<label for="qty4">Quantity:</label>
<select name="qty4">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
<br>
<label for="file">Upload File 5:</label>
<input type="file" name="file5" id="file5"/>
<label for="qty5">Quantity:</label>
<select name="qty5">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
<br>
<br>
<label for="meterial">Meterial:</label>
<select name="material">
<option value="PLA">PLA (0.60$ / Gram)</option>
<option value="ABS">ABS (0.60$ / Gram)</option>
<option value="POLYCARB">PolyCarb (1.80$ / Gram)</option>
<option value="NYLON">Nylon (1.20$ / Gram)</option>
</select>
|
<label for="color">Color:</label>
<select name="color">
<option value="WHITE">White</option>
<option value="BLACK">Black</option>
<option value="RED">Red</option>
<option value="GREEN">Green</option>
<option value="GRAY">Gray</option>
</select>
|
<label for="delivery">Delivery Method:</label>
<select name="delivery">
<option value="PICK UP">Pick Up (Free)</option>
<option value="SHIPPED">Shipped (+10$)</option>
</select>
|
<label for="marketing">Marketing?</label>
<select name="marketing">
<option value="YES">YES</option>
<option value="NO">NO</option>
</select>
<br>
<label for="infill">Infill: 20%</label>
<input type="range" name="infill" id="infill" value="20" min="20" max="90" step="10" onchange="printValue('infill','rangeValue1')"/>
90%
<input id="rangeValue1" type="text" size="2"/>
<br>
<ul class="buttons vertical">
<input type="submit" class="button fit scrolly" name="submit" value="Refresh Estimate" />
</ul>
</form>
我要做的是:
- 能够根据先前选择的材料类型限制颜色选择
- 在提交后,处理php文件,同时仍然保持所有字段填充,以便如果用户对给定的价格不满意,他们可以修改一些设置并获得新的"估计"
- 让以下动作在没有页面刷新的情况下发生(不是优先级)
非常感谢您花时间阅读这篇文章!非常感谢。
1.
这将通过客户端代码实现。Javascript/jQuery是你需要的。2。
不幸的是,当您重新加载页面(或重定向返回)时,文件字段无法保持填充状态。您可以通过使用AJAX发送表单内容来填充它们,但是它可能非常复杂,并且使用AJAX发送文件只能在现代浏览器中工作。
3。
AJAX是您正在寻找的,如果您希望服务器操作发生,而不需要页面刷新。看看jQuery $.post。我的建议是,你有你的表格,人们开始填写。该网站将检查输入一路上,并建议价格不刷新页面,一旦他们高兴,准备好了,他们提交的形式,将上传文件和"刷新页面"。
on 2、php唯一的解决方案:您可以通过在输入字段中添加占位符来保持提交时填充字段。占位符获取提交的值($_POST('value')或类似)。只要确保值不会丢失,如果你有几个字段,因此在客户点击最后的"all fine"按钮之前多次提交,可能使用$_SESSION。