(1)、这里用javaScript创建一个文本框并从中取得输入的文本值
<html>
<script type="text/javascript">
<!--
function myJavaScriptFunction()//响应函数
{
var args=new Array(2);
args[0] = document.getElementById("s2_1").value;
window.external.Call( "myPerlFunction", args);
}
// -->
</script>
<input type="text" id="s2_1">
<input type="button" name="s2" value="检索" onclick="myJavaScriptFunction();">
(2)、这个是Perl的函数
sub myPerlFunction()
{
my ($str) = @_;
if($str eq "输入文本")
{
&setView($str);
}
}
(3)、我进行这样的操作:
在文本框中输入"输入文本"几个字符后点按钮后取得字符,跟踪程序发现在Perl的函数即myPerlFunction()中的变量$str的值为“输入文本”;可是执行if($str eq "输入文本")判断时发现这判断并没有返回真值.
这是什么原因,怎么解决?$str的值明明是"输入文本"啊,请高手指教!谢谢!50分敬上
在传递参数的时候数组会分解为列表。如果你要传递一个数组,那么就传递数组的引用
可是用数字或是英文字符如输入“123”;这if($str eq "123")语句的结果是相等的
建议你把变量的字符一个一个打印一下,肯定有地方不一样
chomp一下就可以了。。
看看中文编码
谢谢大家!这问题我现在可以肯定是中文编码不一致,可是我用下面的转换后问题还是不能解决,在C中我用
MultiByteToWideChar(936, 0, result, -1, szwtemp, sizeof(wchar_t)*len);
WideCharToMultiByte(CP_UTF8, 0, szwtemp, -1, sztemp, sizeof(wchar_t)*len, NULL, NULL);转换中文编码,在perl中用<META charset="UTF-8">来设置也还是不行。
谢谢大家!这个因为“输入文本”是GBK字符,转化为UTF-8后正常.
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 问题 一个 高分 文本 str 输入 字符 Perl 函数 编码 myPerlFunct |
注册
个人空间
