【发布时间】:2017-04-27 03:31:16
【问题描述】:
我正在提交一个包含单选按钮输入的表单。如果我从单选按钮输入中删除“类”属性(或在没有引导模板的情况下显示),它会起作用,但否则不会。
如果您click any star here 并提交,则评分为空。生成 HTML 表单的相应 PHP 代码(两个链接中相同): test_ratings_curl.php
<? php
print(' <form method="post" action="rating_curl.php">
<span class="rating">');
$rating = 4;
$inp_no = 1;
print('<input type="hidden" name="Name" value="arya" />');
for ($k = 1; $k <= $rating; $k++) {
$inp_no = $k;
$to_print = '<input type="radio" class="rating-input" id="rating_input_'.strval($k).
'" name="rating_input_'.strval($k).
'" value="rating_input_'.strval($k).
'" >
<label for="rating_input_1_'.strval($k).
'" class="rating-star1"></label>';
print($to_print);
}
for ($j = $inp_no + 1; $j <= 5; $j++) {
$to_print = '<input type="radio" class="rating-input" id="rating_input_'.strval($j).
'" name="rating_input_'.strval($j).
'value="rating_input_'.strval($k).
'" >
<label for="rating_input_1_'.strval($j).
'" class="rating-star"></label>';
print($to_print);
}
print(' </form>
');
print('
<input type="submit" name="rating_submit">
</span>'); ?>
但here 评级被返回。
(两者具有相同的 HTML):
<form method="post" action="rating_curl.php">
<span class="rating">
<input type="hidden" name="Name" value="arya">
<input type="radio" class="rating-input" id="rating_input_1" name="rating_input_1" onclick="check(this.id)" value="rating_input_1">
<label for="rating_input_1_1" class="rating-star1"></label><input type="radio" class="rating-input" id="rating_input_2" name="rating_input_2" onclick="check(this.id)" value="rating_input_2">
<label for="rating_input_1_2" class="rating-star1"></label><input type="radio" class="rating-input" id="rating_input_3" name="rating_input_3" onclick="check(this.id)" value="rating_input_3">
<label for="rating_input_1_3" class="rating-star"></label><input type="radio" class="rating-input" id="rating_input_4" name="rating_input_4" onclick="check(this.id)" value="rating_input_3">
<label for="rating_input_1_4" class="rating-star"></label><input type="radio" class="rating-input" id="rating_input_5" name="rating_input_5" onclick="check(this.id)" value="rating_input_3">
<label for="rating_input_1_5" class="rating-star"></label>
<input type="hidden" id="answer" name="answer">
(43)
<input type="submit" name="rating_submit">
</span>
</form>
用于提取 POST 变量的代码(rating_curl.php):
<? php
extract($_POST);
$rating = null;
if (isset($rating_input_1)) {
$rating = "1";
}
elseif(isset($rating_input_2)) {
$rating = "2";
}
elseif(isset($rating_input_3)) {
$rating = "3";
}
elseif(isset($rating_input_4)) {
$rating = "4";
}
elseif(isset($rating_input_5)) {
$rating = "5";
}
print('Inside rating_curl.php<br/>');
print("rating= ".$rating);
print('<br/>');
print('hidden: '.strval($answer));
print('<br/>');
print("name of product = ".$Name);
$ch = curl_init();
$post = 'name='.$Name.
'&rating='.$rating;
curl_setopt($ch, CURLOPT_URL, 'gurnoors.com/rating.php');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$contents = curl_exec($ch);
print('<br/>Curl Results: <br/>');
print($contents);
?>
结论:
正如接受的答案所述,label 的属性for 的值必须与input 的id 相同。谢谢。
【问题讨论】:
标签: php html twitter-bootstrap