【发布时间】:2011-09-30 15:34:32
【问题描述】:
我不擅长服务器端技术(有时很难将我的注意力集中在这些技术上)。我对 PHP 很满意。
我有一个提供颜色选项的表单(现在是下拉格式,但将来会是图像点击)。表单中有多种选择,例如,您可以在一个选择菜单中选择一种框架颜色,然后在此插图中的另一个选择菜单中选择一种顶部颜色。根据您所在的页面,最多可以有 12 个选项,全部命名为 a、b、c、d...到 l。
我有一个由 phpgd 库创建的图像。这是 php gd 的当前设置:
$a = $_POST['a'];//1
$b = $_POST['b'];//2
$c = $_POST['c'];//3
$d = $_POST['d'];//4
$e = $_POST['e'];//5
$f = $_POST['f'];//6
$g = $_POST['g'];//7
$h = $_POST['h'];//8
$i = $_POST['i'];//9
$j = $_POST['j'];//10
$k = $_POST['k'];//1
$l = $_POST['l'];//12
$default = imagecreatefrompng('../configurator-testing/11ta-503/default.png');
$defaulta = imagecreatefrompng('../configurator-testing/11ta-503/black_a.png');
$defaultb = imagecreatefrompng('../configurator-testing/11ta-503/black_b.png');
header('Content-Type: image/png');
$x = imagesx($default);
$y = imagesy($default);
imagecopy($default, $defaulta,0, 0, 0, 0, $x, $y);
imagecopy($default, $defaultb, 0, 0, 0, 0, $x, $y);
imagepng($default);
imagedestroy($default);
imagedestroy($defaulta);
imagedestroy($defaultb);
现在,它只发布一个“默认”图像,它有一个黑色的框架,黑色的顶部。我想要它做的是接受表单输入,而不刷新页面或使用提交按钮,使用提交的值来更改创建的图像。文件名根据提交的值进行格式化(例如,提交的黑色将与文件 black_a.php 和 black_b.php 等相关联)。这是我正在测试的表格:
<img src="config-gd.php"/>
<form id="configform" name="configform">
<label>Frame Color</label>
<select name="a" id="a">
<option value="black">black</option>
<option value="red">red</option>
<option value="yellow">yellow</option>
<option value="blue">blue</option>
</select>
<label>Top Color</label>
<select name="b">
<option value="black">black</option>
<option value="red">red</option>
<option value="yellow">yellow</option>
<option value="blue">blue</option>
</select>
请注意,它在表单上方的第一行中提取了我的图像 (phpgd) 文件,因此我希望通过我的 phpgd 脚本处理选择,并在表单上方的图像中丢弃新的颜色选择。
我可以弄清楚如何让它在 phpgd 脚本中处理,没问题。我在发布时遇到问题,没有刷新且没有按钮部分。有人知道一些 jquery/ajax 并愿意提供帮助吗?我一直在尝试从网络上的教程中整理一些东西,我过得很糟糕。
我找到了一些简单的函数来建模,这是我想出的,但我不知道如何最好地实现,到目前为止我的努力还没有结果:
function postImg(layer1, layer2){
$.ajax({
url: "config-gd.php",
data: {
id: layer1,
rate: layer2
},
type: "POST",
success: function(){
alert('Done!');
}
});
}
【问题讨论】:
-
是的,例如。抱歉...我试图说明我最多可以有 12 个选项,并且图像是根据颜色和字母命名的...所以你知道我的想法了。