如何从inputTextarea中读取文本作为javascript对象

时间:2019-01-16 13:46:59

标签: javascript

我想将Java脚本对象结构作为文本输入到public void copyToClipbord(String copyTo) { Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); StringSelection str = new StringSelection(copyTo); clipboard.setContents(str, null ); } // And paste into required input/testfield/testarea field object public void pasteText(WebElement element, String value) { copyToClipbord(value); element.click(); //new Actions( driver ).contextClick( element ).sendKeys( "P" ).sendKeys("\n").perform(); element.sendKeys(Keys.CONTROL, "V"); } 中,并且我想让public function proses_upload() { $file_upload = array(); $jumlah = count($_FILES['userfile']['name']); for ($i=0; $i < $jumlah; $i++) { $file_name = $_FILES['userfile']['name'][$i]; $file_upload[$i] = ''; if($file_name != ''){ $explode = explode('.',$file_name); $ekstensi = pathinfo($file_name, PATHINFO_EXTENSION); $bulan = date('M'); $tahun = date('y') ; $kode = $this->session->userdata('kode_puskesmas'); $new_file_name =$explode[1].'_'.$kode.'_'.$bulan.$tahun.'.'.$ekstensi; $tmp_name = $_FILES['userfile']['tmp_name'][$i]; move_uploaded_file($tmp_name, "file/file_PTM/".$new_file_name); $file_upload[$i] = $new_file_name; } } $nama_file1 = $file_upload[0]; $format_p2ptm =1; $tanggal = date("Y-m-d H:i:s"); $jenis ='p2ptm'; if (!$nama_file1 == "") { $this->app_model->insert_data('penyakit', $format_p2ptm, $tanggal,$nama_file1,$jenis, $this->session->userdata('id_puskesmas')); 将该对象作为对象读取。我的对象结构如下。可以在inputTextarea页面上直接以var的形式提供,而不是在inputTextarea中提供,但是我不希望这样做。因为也很难解析xhtml标签,否则它将引发一些标签错误。是否可以将var obj={ onchange: ...的文本作为xml对象而不是inputTextarea的文本读取。

var

2 个答案:

答案 0 :(得分:1)

据我了解,您需要读取textarea内容作为JavaScript对象。

如果textarea内容是有效的JSON,则可以通过调用JSON.parse将textarea内容转换为。

如果textarea内容不是有效的JSON,而是某种任意的JavaScript对象表示形式,则可以使用eval将其转换为JavaScript对象。但是,考虑到使用eval是安全问题,除非输入来自受信任的来源,否则不应使用它。

const textArea = document.getElementById('demo');

// this will work only if textarea content is a valid JSON
// const myObject = JSON.parse(textArea.textContent);

// this following is insecure, use on your own risk
const myObject = eval(`(${textArea.textContent})`);

console.log(typeof myObject);
console.log(myObject);
<textarea id="demo">
{ a: 1 }
</textarea>

答案 1 :(得分:0)

解决了问题

eval('(' + myinputtext + ')');