Я хочу передать содержимое 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>
когда вы вводите имя пользователя в поле поиска, появляется весь профиль пользователя с этим именем, и когда вы хотите отправить кому-то сообщение, вы нажимаете на сообщение, а текстовая область отображается, введите сообщение и нажмите "отправить", проблема заключается в тексте, который вы вводите в текст область не переходит к функции, которую вы не можете сохранить в db или делать то, что вы хотите с ней, как пример: я показываю имя отправителя, имя профиля и сообщение, но сообщение не проходит, когда я использую var ta = document.getElementById("ta").value;
например, есть два профиля, когда я хочу отправить сообщение второму владельцу профиля, когда я написал это сообщение, и нажмите "Отправить", он ничего не отправляет, потому что значение var ta = document.getElementById("ta").value;
указатель на первую область текста профиля, поэтому единственный способ решить эту проблему - передать эту переменную из php, используя что-то вроде этого <div id="textmsg"><form method="post"><textarea id="taa"></textarea><button id="pmBtn" onClick="nn(\''.$srch_name.'\',\''.$uname.'\',\'taa\')">Send</button></form>
Я не знаю, почему он не может передать сообщение.
Я бы скорее использовал 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>
Попробуй это:
function test(a, b, c) {
alert(a + " live in " + b + " say " + document.getElementById(c).value);
}