Php 我如何通过特殊考试<;李>;jquery的值
我有一个html文件,如- HTML-index.phpPhp 我如何通过特殊考试<;李>;jquery的值,php,jquery,html,Php,Jquery,Html,我有一个html文件,如- HTML-index.php <form name="myform" action="data.php"> <ul> <li onclick=myform.submit();> <input type="hidden" name="soc" value="1">google</li> <li onclick=myform.submit();> <i
<form name="myform" action="data.php">
<ul>
<li onclick=myform.submit();>
<input type="hidden" name="soc" value="1">google</li>
<li onclick=myform.submit();>
<input type="hidden" name="soc" value="2">facebook</li>
<li onclick=myform.submit();>
<input type="hidden" name="soc" value="3">twitter</li>
<li onclick=myform.submit();>
<input type="hidden" name="soc" value="4">none</li>
</ul>
</form>
<?php
$val = &_POST["soc"];
echo $val;
?>
-
谷歌
-
脸谱网
-
推特
-
没有
data.php
<form name="myform" action="data.php">
<ul>
<li onclick=myform.submit();>
<input type="hidden" name="soc" value="1">google</li>
<li onclick=myform.submit();>
<input type="hidden" name="soc" value="2">facebook</li>
<li onclick=myform.submit();>
<input type="hidden" name="soc" value="3">twitter</li>
<li onclick=myform.submit();>
<input type="hidden" name="soc" value="4">none</li>
</ul>
</form>
<?php
$val = &_POST["soc"];
echo $val;
?>
在这种情况下,如果我单击其中任何一个,它只传递最后一个
值4。
我只想在单击的位置获取此值。我的意思是,如果我点击facebook,那么我可以在data.php文件中获得值“2”。而不是
表单
只需使用带有url参数的标记,这可能是更好、最简单的方法
HTML:
<ul>
<li> <a href="data.php?soc=1">google</a>
</li>
<li> <a href="data.php?soc=2">google</a>
</li>
<li> <a href="data.php?soc=3">google</a>
</li>
<li> <a href="data.php?soc=4">google</a>
</li>
</ul>
<?php
$val = $_GET["soc"];
echo $val;
?>
-
-
-
-
PHP:
<ul>
<li> <a href="data.php?soc=1">google</a>
</li>
<li> <a href="data.php?soc=2">google</a>
</li>
<li> <a href="data.php?soc=3">google</a>
</li>
<li> <a href="data.php?soc=4">google</a>
</li>
</ul>
<?php
$val = $_GET["soc"];
echo $val;
?>
不能使用同名的多个隐藏输入,而期望它们作为独立的表单元素。提交表格时,所有隐藏输入均以soc=1&soc=2&soc=3&soc=4的形式发送
使用name=“soc”保留一个隐藏输入,并在每个onclick属性中更改回调,如下所示:
document.forms.myform.soc=1;document.formsmyform.submit();
将数字更改为每个li元素的相应值有多种方法
为每个li
创建不同的表单
<ul>
<form name="myform1" action="data.php">
<li onclick=myform1.submit();><input type="hidden" name="soc" value="1">google</li>
</form>
<form name="myform2" action="data.php">
<li onclick=myform2.submit();><input type="hidden" name="soc" value="2">facebook</li>
</form>
</ul>
- 谷歌
- 脸谱网
使用jquery通过单击事件替换值
Html
谷歌
facebook
推特
- 无
Js
<script>
$(document).ready(function(){
$(li).click(function(){
var val = $(this).attr(id);
$("#myid").val(val);
myform.submit();
return true;
})
})
</script>
$(文档).ready(函数(){
$(li)。单击(函数(){
var val=$(this.attr(id);
$(“#myid”).val(val);
myform.submit();
返回true;
})
})
将url
中的值作为查询字符串传递
在ajax中,您应该使用$val=$\u POST[“soc”]
。您可以将ajax请求用作
JS
$(function() {
$('.opt').on('click', function(){
var val = $(this).val();
$.ajax({
url: "data.php",
type: 'POST',
data: {soc: val},
success: function() {
console.log('success');
}
})
})
})
function submitMyForm(val) {
$.ajax({
url: "data.php",
type: 'POST',
data: {soc: val},
success: function() {
console.log('success');
}
})
}
HTML
<ul>
<li class="opt"><input type="hidden" name="soc" value="1">google</li>
<li class="opt"><input type="hidden" name="soc" value="2">facebook</li>
<li class="opt"><input type="hidden" name="soc" value="3">twitter</li>
<li class="opt"><input type="hidden" name="soc" value="4">none</li>
</ul>
<form name="myform" action="data.php">
<ul>
<li onclick="submitMyForm(1)">
google
</li>
<li onclick="submitMyForm(2)">
facebook
</li>
<li onclick="submitMyForm(3)">
twitter
</li>
<li onclick="submitMyForm(4)">
none
</li>
</ul>
</form>
谷歌
facebook
推特
- 无
PHP:
<?php
$val = $_POST["soc"];
echo $val;
?>
如果您正在寻找纯jQuery/JS解决方案
HTML
<ul>
<li class="opt"><input type="hidden" name="soc" value="1">google</li>
<li class="opt"><input type="hidden" name="soc" value="2">facebook</li>
<li class="opt"><input type="hidden" name="soc" value="3">twitter</li>
<li class="opt"><input type="hidden" name="soc" value="4">none</li>
</ul>
<form name="myform" action="data.php">
<ul>
<li onclick="submitMyForm(1)">
google
</li>
<li onclick="submitMyForm(2)">
facebook
</li>
<li onclick="submitMyForm(3)">
twitter
</li>
<li onclick="submitMyForm(4)">
none
</li>
</ul>
</form>
JSFiddle
您可以使用事件处理程序吗?对不起,&_POST[“soc”];是美元后[“soc”];我真的不知道这件事。我能得到一些参考资料吗?因为输入是隐藏的,用户不进行交互,它们都被归类为集合,最后一个“4”覆盖了1、2和3。使用输入型无线电和隐藏css,然后得到值很高兴知道这一点。欢迎:)