我有使用JSON.stingrify转换的对象
//get prod id
if(isset($_GET['prod_id']) && !empty($_GET['prod_id']))
{
$prod_code = $_GET['prod_id'];
$newqty = $_GET['qty'];
我想从上方获取“ cropped_two ”(已打开)
onchange = \“ alertFilename(this.value,' cropped_two ');
此处 this.value 将保持不变,因此如果要拆分字符串。
我通过循环和其他方法尝试了多种方法,但徒劳无功。
任何人都可以帮忙吗? 预先感谢。
答案 0 :(得分:1)
我认为您只想要字符串?我想这会起作用。
let o = {
"_originalElementInner": " <input type=\"file\" name=\"\" class=\"hidden\" id=\"file_input_two\" onchange=\"alertFilename(this.value,'cropped_two');\"> <!-- <img src=\"https://dxyz.com/tmp/5bd432ed2d8dd_img3.jpg\" alt=\"\" width=\"100%\" height=\"100%\"> --> "
};
const regex = /,(.*)\);/gm;
const match = regex.exec(o._originalElementInner);
console.log(match[1]);
答案 1 :(得分:0)
您可以使用搜索功能找到“ this.value”位置,然后使用子字符串功能,从“ this.value”位置+ 11到“)”位置,女巫似乎是字符串中唯一的“)”
答案 2 :(得分:0)
如果可以使用jQuery,则可以采用这种方法。
var obj = {"_originalElementInner": " <input type=\"file\" name=\"\" class=\"hidden\" id=\"file_input_two\" onchange=\"alertFilename(this.value,'cropped_two');\"> <!-- <img src=\"https://dxyz.com/tmp/5bd432ed2d8dd_img3.jpg\" alt=\"\" width=\"100%\" height=\"100%\"> --> "},
stringValue = '',
// This function will be called when the event change is triggered.
alertFilename = function(_, str) { stringValue = str;};
// Create the jQuery object and trigger the event change
// Finally remove the function from window object (This is just to remove an unsed function after execute it).
$(obj['_originalElementInner']).trigger('change'), (delete window['alertFilename']);
console.log(stringValue);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 3 :(得分:0)
如果您的代码中可能有多个onchange
回调,则以下代码将获得引用alertFilename
的代码,它也比regexp快。
function extractSecondArg(text) {
// Define the pattern to look for.
const pattern = 'onchange=\"alertFilename(this.value,'
// Find the index of the pattern.
const patternIndex = text.indexOf(pattern);
if (patternIndex !== -1) {
// Find the closing parenthesis.
const patternEnd = ');';
const patternEndIndex = text.indexOf(patternEnd, patternIndex);
// Extract the second argument of the function.
return text.substring(patternIndex + pattern.length, patternEndIndex).replace(/["']+/g, '');
}
}
这里是使用方法的示例。
const json = {
"_originalElementInner": " <input type=\"file\" name=\"\" class=\"hidden\" id=\"file_input_two\" onchange=\"alertFilename(this.value,'cropped_two');\"> <!-- <img src=\"https://dxyz.com/tmp/5bd432ed2d8dd_img3.jpg\" alt=\"\" width=\"100%\" height=\"100%\"> --> "
};
// Extract element to search in.
const secondArg = extractSecondArg(json['_originalElementInner']);
console.log(secondArg)