Вот моя страница:
<!DOCTYPE html>
<html>
<head>
<title>Loading from DB</title>
<link rel="stylesheet" href="codebase/webix.css" type="text/css">
<script src="codebase/webix.js" type="text/javascript"></script>
</head>
<body>
<?php
$filename = getcwd() . "/test.txt";
echo $filename;
$line_i_am_looking_for = 5;
$lines = file( $filename , FILE_IGNORE_NEW_LINES );
$lines[$line_i_am_looking_for] = '6my modified line';
file_put_contents( $filename , implode( "\n", $lines ) );
?><div class='header_comment'>Test Button</div>
<div id="testB" style='height:600px'></div>
<hr>
<script type="text/javascript" charset="utf-8">
webix.ready(function(){
gridb = webix.ui({
container:"testB",
"view": "form",
"elements": [
{
"view": "textarea",
"name": "woNumber",
"label": "",
"width": 300,
"height": 200,
"options": [
"onViewResize"],
"value": "",
"placeholder": "WO number (separate with comma if several)",
"labelPosition": "top"},
{
"view": "button",
"name": "getWODetails",
"label": "",
"value": "Submit",
"options": [
"autowidth:true"],
on:{
onItemClick:function(id){
webix.message("Test");
}
},
"labelPosition": "top"
},
{
"view": "button",
"name": "getWODetails",
"label": "",
"value": "Passss",
"options": [
"autowidth:true"],
on:{
onItemClick:function($filename){
webix.message($filename);
}
},
"labelPosition": "top"
}
]
});});</script>
</body>
</html>
Теперь я пытаюсь добавить приведенный ниже код в функцию, чтобы можно было добавить строку при нажатии кнопки Passss:
$filename = getcwd() . "/test.txt";
echo $filename;
$line_i_am_looking_for = 5;
$lines = file( $filename , FILE_IGNORE_NEW_LINES );
$lines[$line_i_am_looking_for] = '6my modified line';
file_put_contents( $filename , implode( "\n", $lines ) );
Но если я делаю это, как показано ниже, это не работает:
on:{
onItemClick:function($filename){
$filename = getcwd() . "/test.txt";
echo $filename;
$line_i_am_looking_for = 5;
$lines = file( $filename , FILE_IGNORE_NEW_LINES );
$lines[$line_i_am_looking_for] = '6my modified line';
file_put_contents( $filename , implode( "\n", $lines ) );
}
Есть ли какой-нибудь ключ, как этого добиться?
Вам нужно вызвать серверный скрипт от нажатия кнопки.
Что-то вроде следующего
on:{
onItemClick:function(){
webix.ajax().post("save.php");
}
}
и теперь в save.php вы можете разместить необходимую логику.
При необходимости вы можете отправить дополнительные параметры на серверную часть, используя второй параметр webix.ajax.post
on:{
onItemClick:function(){
//will be $_POST["some"] on a server-side
webix.ajax().post("save.php", { some: this.getValue() });
}
}
Других решений пока нет …