我想将textarea内容传递给JavaScript函数,
<body>
////////////////////////some html //////////////////
<?php
if(isset($_POST['srchsubmet']))
{
$query = $_POST['matrit'];
$sqll = "SELECT * FROM mem WHERE `name` LIKE '%".$query."%' " ;
$raw_results = mysqli_query( $con, $sqll) or die(mysql_error());
if(mysqli_num_rows($raw_results) > 0)
{
while($results = mysqli_fetch_array($raw_results))
{
$srch_id = $results['id'];
$srch_name = $results['username'];
$srch_language = $results['language'];
$srch_age = $results['age'];
$srch_gender = $results['gender'];
$srch_country = $results['country'];
$srch_photo = $results['image'];
echo '<div class="ana">';
echo '<div id="pho"> <img src="', $www_root, '/', $srch_photo, '" >;</div> ';
echo '<div id="info">-Name : '.$srch_name.' <br>';
echo '-Langue:'.$srch_language.'<br>';
echo '-Age:'.$srch_age.'<br>';
echo '-Contry : '.$srch_country.'';
echo '</div>';
echo '<div id="icon-call">call</div>';
echo '<div id="inter"> '.$srch_interest.' </div>';
echo '<div class="icon-message">mesage</div>';
echo '<div id="textmsg"><form method="post"><textarea id="taa"></textarea><button id="pmBtn" onClick="nn(\''.$srch_name.'\',\''.$uname.'\', taa)">Send</button></form> </div>';
echo '</div> <!-- end of ana --> ';
}
}
else{ // if there is no matching rows do following
echo "No results"; }
}
?>
//////////////////////////////////some html////////////////////
<script type="text/javascript">
function nn(tuser, fuser, ta) {
alert(fuser + " send to " + tuser + " he say " +ta);
}
</script>
</body>
</html>
当您在搜索框中键入某人的姓名时,会显示所有具有该名称的用户个人资料,当您想要发送给某人时,您点击消息并显示文本区域,请输入一条消息并点击发送,问题是您的文字在文本区域中输入不会传递给您无法将其存储在数据库中的功能,或者根据需要执行您想要的功能,例如我显示发件人的姓名,配置文件的名称和消息,但是当我输入时,消息不会通过使用var ta = document.getElementById("ta").value;
例如,有两个配置文件,当我想发送消息给第二个配置文件的所有者,当我写消息并点击发送它不发送任何东西,因为var ta = document.getElementById("ta").value;
指针指向第一个配置文件的文本区域,所以唯一的方法解决这个问题的方法是使用类似<div id="textmsg"><form method="post"><textarea id="taa"></textarea><button id="pmBtn" onClick="nn(\''.$srch_name.'\',\''.$uname.'\',\'taa\')">Send</button></form>
之类的东西从php传递该变量我不知道为什么它不能传递消息。
答案 0 :(得分:0)
试试这个:
function test(a, b, c) {
alert(a + " live in " + b + " say " + document.getElementById(c).value);
}
答案 1 :(得分:0)
我很快就会使用this.previousSibling.value:
<!doctype html>
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
function test(a, b, c) {
alert(a + ' live in ' + b + ' says ' + c + ".");
}
</script>
</head>
<body>
<?php
$a = 'Father Christmas';
$b = 'America';
echo sprintf('<textarea>Hello</textarea><button onclick="test(%s,%s,this.previousSibling.value)">LINK</button>',htmlentities(json_encode($a)),htmlentities(json_encode($b)));
?>
</body>
</html>