php dosent回显输入的正确值
我想在jquery中concat一个字符串,但是当我发布该字符串时,我只看到mystringg的一部分 我的html是:php dosent回显输入的正确值,php,jquery,Php,Jquery,我想在jquery中concat一个字符串,但是当我发布该字符串时,我只看到mystringg的一部分 我的html是: <input type="text" style="display:none" name="mystring" id="mystring" value=""/> 我试着用一个字符串来表示: var mystringg=""; mystringg+= "<\n"+ti+">"; mystringg+= "\n<LOW> "+low+" &
<input type="text" style="display:none" name="mystring" id="mystring" value=""/>
我试着用一个字符串来表示:
var mystringg="";
mystringg+= "<\n"+ti+">";
mystringg+= "\n<LOW> "+low+" </LOW> ";
mystringg+= "\n<MODERATE> "+moderate+" </MODERATE> ";
mystringg+= "\n<HIGH> "+high+" </HIGH> ";
mystringg+="\n</"+title+">";
alert(mystringg); // here print the right value of the string
$('#mystring').val(mystringg);
当我提醒mystringg时,我得到了正确的字符串。
但是当我在另一个php页面中发布它时,我只得到部分值,实际上我只得到变量的值,而不是手动值。您得到的是完整值。您之所以不这么认为,是因为您将它们包装在标记中,尽管不是标准的HTML标记 如果您
var_dump($_POST['mystring'])代码>,您将看到以下内容:
字符串“低-中-高”
所以,全部价值都在那里
但是-当您查看它的echo
时(正如您的代码所做的那样),标记被呈现为HTML标记(因此不会显示),因此它看起来如下所示:
low-medium-high
但是,如果您查看源代码,您将看到实际上它都在那里:
<ti><LOW> low </LOW>
<MODERATE> moderate </MODERATE>
<HIGH> high </HIGH>
</title>
您的输入类型是什么?当我这样做时,会得到一个消息字符串(260)“…”0。我已经移除了标签,事实上,标签就是问题所在。除了var_dumb之外,还有其他解决方案不起作用吗?我找到了这个:[link],渲染完成了。谢谢你抽出时间
$string = $_POST['mystring'];
echo $string;
<ti><LOW> low </LOW>
<MODERATE> moderate </MODERATE>
<HIGH> high </HIGH>
</title>
echo htmlspecialchars( $_POST['mystring'] );